#include <bits/stdc++.h>
using namespace std;
const int N = 5005, P = 998244353;
int n, m, p, K;
int S[N], inv[N];
void m1(int &x) {
  if (x >= P) x -= P;
}
int ksm(int a, int b) {
  int x = 1;
  for (; b; b & 1 ? x = 1ll * x * a % P : 0, a = 1ll * a * a % P, b >>= 1)
    ;
  return x;
}
int main() {
  scanf("%d%d%d", &n, &m, &K);
  p = ksm(m, P - 2);
  S[1] = 1;
  for (int i = 2; i <= K; i++)
    for (int j = i; j >= 1; j--) S[j] = (S[j - 1] + 1ll * S[j] * j) % P;
  inv[1] = 1;
  for (int i = 2; i <= K; i++) inv[i] = 1ll * inv[P % i] * (P - P / i) % P;
  int ans = 0, cm = 1, pm = 1, fac = 1;
  for (int i = 1; i <= K && i <= n; i++) {
    cm = 1ll * cm * (n - i + 1) % P * inv[i] % P;
    pm = 1ll * pm * p % P;
    fac = 1ll * fac * i % P;
    ans = (ans + 1ll * S[i] * fac % P * cm % P * pm) % P;
  }
  printf("%d\n", ans);
  return 0;
}
