func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long mod = (long long)1e9 + 7;   long long n, m, k;   const long long moll = 998244353;   long long fact(long long n) {     if (n == 0) return 1;     return (n * fact(n - 1)) % moll;   }   long long binpow(long long a, long long b) {     if (b == 0) return 1;     if (b % 2 == 0) return (binpow((a * a) % moll, b / 2)) % moll;     return (a * (binpow((a * a) % moll, b / 2))) % moll;   }   long long C(long long n, long long k) {     long long x = (fact(n) * binpow(fact(k), moll - 2)) % moll;     x *= binpow(fact(n - k), moll - 2);     x %= moll;     if (x < 0) x += moll;     return x;   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cin >> n >> m >> k;     long long x = m;     x *= C(n - 1, k);     x %= moll;     x *= binpow(m - 1, k);     x %= moll;     if (x < 0) x += moll;     cout << x << endl;     return 0;   }   