#include using i64 = long long; constexpr i64 P = 998244353; i64 norm(i64 a) { a %= P; if (a < 0) a += P; return a; } i64 modpow(i64 a, i64 e) { if (e == 0) return 1; if (e % (P - 1) == 0) return (a % P == 0 ? 0 : 1); e %= (P - 1); i64 r = 1; a = norm(a); while (e > 0) { r = r * a % P; e --; } return r; } i64 quotient(i64 a, i64 b) { return norm(a) * modpow(b, P - 2) % P; } int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); i64 N, M; std::cin >> N >> M; if (M % P == P - 1) { std::cout << norm((N & 1) ? N - 1 : -(N - 1)) << '\n'; return 0; } i64 numerator = norm(modpow(M, N) + (N & 1 ? -norm(M) : norm(M))); std::cout << quotient(numerator, M + 1) << '\n'; return 0; }