#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';
}
