#include <bits/stdc++.h>
using namespace std;
const int kMaxN = 200001;
const int kM = 998244353;
int p[kMaxN], c[kMaxN];
int n, m;
long long ans;
void P() {
  for (int i = 2; i <= m; i++) {
    if (!p[i]) {
      for (int j = i; j <= m; j += i) {
        p[j] = i;
      }
    }
  }
}
void R(int n, int v) {
  while (n > 1) {
    c[p[n]] += v;
    n /= p[n];
  }
}
int main() {
  cin >> n >> m;
  if (n > 2) {
    P();
    for (int i = n; i <= m; i++) {
      R(i, 1);
    }
    for (int i = 2; i <= m - n + 1; i++) {
      R(i, -1);
    }
    R(n - 2, 1);
    c[2] += n - 3;
    ans = 1;
    for (int i = 2; i <= m; i++) {
      for (int j = 1; j <= c[i]; j++) {
        ans = (ans * i) % kM;
      }
    }
  }
  cout << ans << endl;
  return 0;
}
