#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; ll N, K; ll mod = 998244353; //ループの回数は適宜修正 ll power(ll a, ll b, ll m) { ll p = a, ans = 1; for(int i = 0; i < 60; i++) { ll wari = (1LL << i); if((b / wari) % 2 == 1) { ans = (ans * p) % m; } p = (p * p) % m; } return ans; } /* フェルマーの小定理を利用して、徐算a/bの答えを素数Mで割ったあまりを算出 a,bはllとしているが、m以上の場合はそれぞれa%m,b%mで渡す */ ll division(ll a, ll b, ll m) { return ((a % m) * power(b, m-2, m)) % m; } int main() { cin >> N >> K; ll b = division(1, power(K,N,mod), mod); ll a = N*K*(K-1)%mod; cout << (a*b)%mod << endl; }