#include <bits/stdc++.h>
using namespace std;
using namespace std;
const int maxn = 5000000 + 10;
const int maxm = 200000 + 10;
const int apsz = 26;
const int mod = 998244353;
inline int mul(int a, int b) {
  long long ans = 1LL * a * b;
  ans = ans - ans / mod * mod;
  if (ans < 0) ans += mod;
  assert(ans >= 0 && ans < mod);
  return ans;
}
inline int add(int a, int b) {
  long long ans = a + b;
  ans = ans - ans / mod * mod;
  if (ans < 0) ans += mod;
  assert(ans >= 0 && ans < mod);
  return ans;
}
inline int fpow(int a, int b) {
  int ans = 1;
  for (; b;) {
    if (b & 1) ans = mul(ans, a);
    a = mul(a, a);
    b >>= 1;
  }
  return ans;
}
int fac[maxn];
int inv[maxn];
int invfac[maxn];
int n, m;
inline int C(int a, int b) {
  if (a < b) return 0;
  return mul(mul(fac[a], invfac[b]), invfac[a - b]);
}
inline void init() {
  fac[0] = 1;
  for (auto i = (1); i < (maxn); ++i) fac[i] = mul(fac[i - 1], i);
  int now = fpow(fac[maxn - 1], mod - 2);
  for (auto i = (maxn - 1); i >= (1); --i) {
    inv[i] = mul(now, fac[i - 1]);
    now = mul(now, i);
  }
  invfac[0] = 1;
  for (auto i = (1); i < (maxn); ++i) {
    invfac[i] = mul(invfac[i - 1], inv[i]);
    assert(mul(invfac[i], fac[i]) == 1);
  }
}
inline void solve() {
  int sum = 0;
  int ans = 0;
  int pref1 = fac[m - 1];
  int pref2 = mul(-1, fac[m - 1]);
  for (auto x = (1); x <= (n); ++x) {
    pref2 = add(pref2, mul(mul(fac[m - 1 + x], invfac[x]), x - 1));
    pref1 = add(pref1, mul(fac[m + x - 1], invfac[x]));
    int co1 = mul(mul(mul(mul(fac[n - x], fac[x]), invfac[n + m]), m),
                  C(m + n, m + x));
    int co2 = mul(mul(mul(mul(fac[n - x], fac[x]), invfac[n + m]), m),
                  C(m + n + 1, m + x + 1));
    int tmp1 = mul(sum, co1);
    int tmp2 = mul(x, pref1);
    tmp2 = add(tmp2, -pref2);
    tmp2 = mul(tmp2, co2);
    int tmp3 = add(tmp1, tmp2);
    co1 = mul(co1, mul(fac[m - 1 + x], invfac[x]));
    ans = mul(tmp3, fpow(add(1, -co1), mod - 2));
    sum = add(sum, mul(ans, mul(fac[m + x - 1], invfac[x])));
  }
  printf("%d\n", ans);
}
int main(void) {
  init();
  scanf("%d%d", &n, &m);
  solve();
  return 0;
}
