#include <bits/stdc++.h>
using namespace std;
int n, m, k;
const int K = 5005;
const int mod = 998244353;
int C, S[K][K];
int fac[K];
int ans = 0;
inline int ksm(int a, int b) {
  int res = 1;
  for (; b; b >>= 1, a = 1ll * a * a % mod)
    if (b & 1) res = 1ll * res * a % mod;
  return res;
}
inline int read() {
  int f = 0, s = 0;
  char c = getchar();
  while (c > '9' || c < '0') f = (c == '-'), c = getchar();
  while (c >= '0' && c <= '9')
    s = (s << 3) + (s << 1) + (c ^ '0'), c = getchar();
  return f ? -s : s;
}
int main() {
  n = read();
  m = read();
  k = read();
  S[0][0] = fac[0] = 1;
  for (int i = 1; i <= k; i++) {
    fac[i] = 1ll * fac[i - 1] * i % mod;
    S[i][0] = 0;
    for (int j = 1; j <= k; j++)
      S[i][j] = (S[i - 1][j - 1] + 1ll * j * S[i - 1][j] % mod) % mod;
  }
  C = 1;
  for (int i = 0; i <= k; i++) {
    ans = (ans + 1ll * C * fac[i] % mod * S[k][i] % mod *
                     ksm(ksm(m, i), mod - 2) % mod) %
          mod;
    C = 1ll * C * (n - i) % mod * ksm(i + 1, mod - 2) % mod;
  }
  printf("%d", ans);
  return 0;
}
