#include #include using namespace atcoder; using namespace std; using ll = long long; using mint = modint998244353; ll inf = 1e9; int main() { ll N, M;cin >> N >> M; vector POW(M + 1, 0); for (ll i = 1;i <= M;i++) POW[i] = mint(i).pow(N); mint ans = 0; for (ll k = 1;k <= M;k++) { mint d = POW[k] - POW[k - 1]; d *= mint(k); ans += d; d = POW[M - k + 1] - POW[M - k]; d *= mint(k); ans -= d; } ans *= mint(N); ans *= mint(M + 1); ans *= mint(2).inv(); cout << ans.val() << endl; }