#include <bits/stdc++.h>
using namespace std;
const long long MOD = 998244353;
const long long INF = 2000000000000000001LL;
const long double EPS = 1e-9;
long long MUL(long long x, long long y) { return (x % MOD * y % MOD) % MOD; }
long long fastpow(long long a, long long p) {
  if (p == 0) return 1;
  long long mul = fastpow(a, p / 2);
  if (p & 1) return (MUL(MUL(mul, mul), a));
  return MUL(mul, mul);
}
long long C(long long n, long long r) {
  long long ans = 1;
  n--, r--;
  if (r > n - r) r = n - r;
  for (int i = 1; i <= r; i++) {
    ans *= (n - i + 1);
    ans %= MOD;
    ans *= fastpow(i, MOD - 2);
    ans %= MOD;
  }
  return ans;
}
int main() {
  ios::sync_with_stdio(NULL);
  cin.tie(NULL);
  long long n, m;
  cin >> n >> m;
  long long ans = C(m + 1, n);
  ans *= (n - 2);
  ans %= MOD;
  ans *= fastpow(2, n - 3);
  cout << ans % MOD << endl;
  return 0;
}
