#include <bits/stdc++.h>
using namespace std;
const int nmax = 4e6 + 42, mod = 998244353;
int dp[nmax];
long long fact[nmax], inv[nmax];
long long my_pow(long long a, int b) {
  long long ret = 1;
  while (b) {
    if (b % 2) ret = ret * a % mod;
    a = a * a % mod;
    b = b / 2;
  }
  return ret;
}
long long my_inv(long long a) { return my_pow(a, mod - 2); }
int n, m;
long long pick(int n_, int k_) {
  if (n_ < 0 || n_ < k_) return 0;
  return fact[n_] * inv[k_] % mod * inv[n_ - k_] % mod;
}
int inv_one[nmax];
int main() {
  scanf("%i%i", &n, &m);
  fact[0] = 1;
  for (int i = 1; i <= n + m + 1; i++) fact[i] = (fact[i - 1] * i) % mod;
  inv_one[0] = 1;
  inv[0] = 1;
  inv_one[1] = 1;
  inv[1] = 1;
  for (int i = 2; i <= n + m + 1; i++) {
    inv_one[i] = 1LL * (mod / i) * inv_one[mod % i] % mod;
    inv_one[i] = (mod - inv_one[i]) % mod;
    inv[i] = 1LL * inv[i - 1] * inv_one[i] % mod;
  }
  dp[0] = 0;
  long long sum_with_remain = fact[m - 1], sum_sub = 0;
  long long sum_dp = 0;
  for (int remain = 1; remain <= n; remain++) {
    long long free =
        m * fact[remain] % mod * fact[n - remain] % mod * inv[n + m] % mod;
    free = free * pick(n + m + 1, m + 1 + remain) % mod;
    sum_with_remain =
        (sum_with_remain + fact[m - 1 + remain] % mod * inv[remain]) % mod;
    sum_sub =
        (sum_sub + fact[m - 1 + remain] % mod * inv[remain] % mod * remain) %
        mod;
    long long to_mult = (sum_with_remain * (remain + 1) - sum_sub + mod) % mod;
    long long LHS = free * to_mult % mod;
    long long free_other =
        m * fact[remain] % mod * fact[n - remain] % mod * inv[n + m] % mod;
    free_other = free_other * pick(n + m, m + remain) % mod;
    long long LHS_2 = free_other * sum_dp % mod;
    LHS = (LHS + LHS_2) % mod;
    long long coeff =
        free_other * fact[m - 1 + remain] % mod * inv[remain] % mod;
    dp[remain] = LHS * my_inv(1 + mod - coeff) % mod;
    sum_dp =
        (sum_dp + fact[m - 1 + remain] * inv[remain] % mod * dp[remain]) % mod;
  }
  printf("%i\n", dp[n]);
  return 0;
}
