#include <bits/stdc++.h>
using namespace std;
const int Mod = 998244353;
int fpow(int x, int y) {
  int res = 1;
  while (y) {
    if (y & 1) res = 1ll * res * x % Mod;
    x = 1ll * x * x % Mod;
    y >>= 1;
  }
  return res;
}
const int MAX_K = 5005;
int N, M, K, S[MAX_K][MAX_K];
int main() {
  cin >> N >> M >> K;
  S[0][0] = 1;
  for (int i = 1; i <= K; i++)
    for (int j = 1; j <= i; j++)
      S[i][j] = (S[i - 1][j - 1] + 1ll * S[i - 1][j] * j) % Mod;
  int ans = 0;
  for (int i = 0, dw = 1; i <= min(K, N); dw = 1ll * dw * (N - i) % Mod, i++)
    ans = (ans + 1ll * S[K][i] * dw % Mod * fpow(M, N - i)) % Mod;
  printf("%lld\n", 1ll * ans * fpow(fpow(M, Mod - 2), N) % Mod);
  return 0;
}
