#include <bits/stdc++.h> using namespace std; template <class Mint> Mint binomial(long long N, long long K) { if (N < 0 || K < 0 || N < K) return 0; Mint ret1 = 1, ret2 = 1; K = min(K, N - K); for (long long i = 1; i <= K; i++) { ret1 *= N--; ret2 *= i; } return ret1 / ret2; } #ifdef _RUTHEN #include "debug.hpp" #else #define show(...) true #endif using ll = long long; #define rep(i, n) for (int i = 0; i < (n); i++) template <class T> using V = vector<T>; #include <atcoder/modint> using mint = atcoder::modint998244353; int main() { ios::sync_with_stdio(false); cin.tie(0); int a, b; cin >> a >> b; mint ans = binomial<mint>(a + b - 2, a - 1); cout << ans.val() << '\n'; return 0; }