// #define _GLIBCXX_DEBUG #include using namespace std; #include using namespace atcoder; using ll = long long; #define rep(i,n) for (ll i = 0; i < (n); ++i) using vl = vector; using vvl = vector; using P = pair; #define pb push_back #define int long long #define double long double #define INF (ll) 3e18 // Ctrl + Shift + B コンパイル // Ctrl + C 中断 // ./m 実行 signed main(){ int n, k; cin >> n >> k; using mint = modint998244353; mint ans = 1; ans *= k; ans *= k-1; ans *= n; ans /= (mint(k)).pow(n); cout << ans.val() << endl; }