#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) { i64 r = 1; a = norm(a); while (e > 0) { if (e & 1) r = r * a % P; a = a * a % P; e >>= 1; } 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 (norm(M + 1) == 0) { std::cout << norm((N & 1) ? N - 1 : -(N - 1)) << '\n'; return 0; } i64 numerator = norm(modpow(M, N % (P - 1)) + (N & 1 ? -norm(M) : norm(M))); std::cout << quotient(numerator, M + 1) << '\n'; return 0; }