#include <bits/stdc++.h>
using namespace std;
const int MOD = 998244353;
int mul(int a, int b) { return (a * 1LL * b) % MOD; }
int modPow(int a, int n) {
  if (n < 0) {
    return modPow(modPow(a, -n), MOD - 2);
  }
  if (n == 0) return 1;
  int pola = modPow(a, n / 2);
  int celo = mul(pola, pola);
  if (n & 1) {
    return mul(celo, a);
  } else {
    return celo;
  }
}
int nck(int n, int k) {
  if (k > n) return 0;
  int gore = 1;
  for (int i = n; i > n - k; --i) gore = mul(gore, i);
  int dole = 1;
  for (int i = 1; i < k + 1; ++i) dole = mul(dole, i);
  return mul(gore, modPow(dole, MOD - 2));
}
int main() {
  int n, m;
  cin >> n >> m;
  cout << mul(mul(n - 2, nck(m, n - 1)), modPow(2, n - 3)) << '\n';
  return 0;
}
