#include <bits/stdc++.h>
using namespace std;
int const nax = 5010, mod = 998244353;
void plusle(int &a, int b) {
  if ((a += b) >= mod) a -= mod;
}
void minun(int &a, int b) {
  if ((a -= b) < 0) a += mod;
}
int add(int a, int b) { return ((a += b) >= mod) ? a - mod : a; }
int sub(int a, int b) { return ((a -= b) < 0) ? a + mod : a; }
int mul(int a, int b) { return 1LL * a * b % mod; }
int power(int a, long long b) {
  int res = 1;
  for (; b > 0; b >>= 1, a = mul(a, a)) {
    if (b & 1) res = mul(res, a);
  }
  return res;
}
int n, m, k, dp[nax][nax];
int main() {
  scanf("%d %d %d", &n, &m, &k);
  dp[0][0] = 1;
  for (int i = 1; i <= k; i++) {
    for (int j = 1; j <= i; j++) {
      plusle(dp[i][j], mul(dp[i - 1][j], j));
      plusle(dp[i][j], mul(dp[i - 1][j - 1], n - j + 1));
    }
  }
  long long ans = 0;
  m = power(m, mod - 2);
  int cur = m;
  for (int i = 1; i <= k; i++) {
    ans += mul(cur, dp[k][i]);
    cur = mul(cur, m);
  }
  printf("%lld\n", ans % mod);
}
