#include <bits/stdc++.h>
using namespace std;
int n, m, k;
int s[5010][5010];
int ksm(int a, int b) {
  int res = 1;
  for (; b; b >>= 1, a = (long long)a * a % 998244353)
    if (b & 1) res = (long long)res * a % 998244353;
  return res;
}
int main() {
  scanf("%d%d%d", &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] + (long long)j * s[i - 1][j] % 998244353) %
                998244353;
  int ans = 0, fact = 1, c = 1, ppow = 1;
  for (int i = 0; i <= k; i++) {
    ans = (ans + (long long)s[k][i] * fact % 998244353 * (long long)c %
                     998244353 * (long long)ppow % 998244353) %
          998244353;
    fact = (long long)fact * (i + 1) % 998244353,
    c = (long long)c * (n - i) % 998244353 *
        (long long)ksm(i + 1, 998244353 - 2) % 998244353,
    ppow = (long long)ppow * ksm(m, 998244353 - 2) % 998244353;
  }
  printf("%d\n", ans);
  return 0;
}
