func_code_string: #include <bits/stdc++.h>   using namespace std;   const int MOD = 998244353;   const int INF = 2000000000;   const long long BIG = 1446803456761533460LL;   const int maxn = 5010;   int n, m, k, dp[maxn][maxn];   int poww(int a, int b) {     int r = 1;     while (b) {       if (b & 1) r = (1LL * (r) * (a)) % MOD;       a = (1LL * (a) * (a)) % MOD;       b >>= 1;     }     return r;   }   int main() {     ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);     cin >> n >> m >> k;     int mi = poww(m, MOD - 2);     dp[0][0] = 1;     for (int i = 0; i < k; ++i) {       for (int j = 0; j < k + 1; ++j) {         dp[i + 1][j] = ((dp[i + 1][j]) + (1LL * dp[i][j] * j % MOD)) % MOD;         dp[i + 1][j + 1] =             ((dp[i + 1][j + 1]) + (1LL * dp[i][j] * (n - j) % MOD * mi % MOD)) %             MOD;       }     }     int ans = 0;     for (int i = 0; i < k + 1; ++i) ans = ((ans) + (dp[k][i])) % MOD;     cout << ans <<   n ;   }   