func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long M = 998244353;   long long power(long long a, long long b, long long m) {     long long res = 1;     a %= m;     while (b) {       if (b & 1LL) res = res * a % m;       a = a * a % m;       b >>= 1;     }     return res;   }   int32_t main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     long long n, m, k;     cin >> n >> m >> k;     m = power(m, M - 2, M);     vector<vector<long long>> dp(k + 1, vector<long long>(k + 1, 0));     for (long long i = 0; i <= k; ++i) {       for (long long j = 0; j <= k; ++j) {         long long N = n - k + i, K = j;         if (N <= 0 || K == 0) {           dp[i][j] = 0;           continue;         }         if (K == 1) {           dp[i][j] = N * m % M;           continue;         }         if (i > 0)           dp[i][j] =               (dp[i][j - 1] - dp[i - 1][j - 1] * (1 - m + M) % M + M) % M * N % M;       }     }     cout << dp[k][k] << endl;     return 0;   }   