func_code_string: #include <bits/stdc++.h>   using namespace std;   long long power(long long x, long long y, long long p) {     long long res = 1;     x = x % p;     while (y > 0) {       if (y & 1) res = (res * x) % p;       y = y >> 1;       x = (x * x) % p;     }     return res;   }   long long nCrModp_2(long long n, long long r, long long p) {     if (r > n) {       return 0;     }     if (n < 0 || r < 0) {       return 0;     }     if (r == 0) return 1;     long long fac[n + 1];     fac[0] = 1;     for (int i = 1; i <= n; i++) fac[i] = fac[i - 1] * i % p;     return (fac[n] * power(fac[r], p - 2, p) % p * power(fac[n - r], p - 2, p) %             p) %            p;   }   int main() {     long long n, m, k;     cin >> n >> m >> k;     long long ans = 0;     long long mod = 998244353;     ans = m;     ans = ans * power(m - 1, k, mod);     ans = ans % mod;     ans = ans * nCrModp_2(n - 1, k, mod);     ans = ans % mod;     cout << ans;     return 0;   }   