#include <bits/stdc++.h>
using namespace std;
const int MAXN = 5007, mod = 998244353;
int S[MAXN][MAXN];
int n, m, k;
int power(int A, int B) {
  int C = 1;
  while (B) {
    if (B & 1) C = C * (long long)A % mod;
    A = A * (long long)A % mod;
    B >>= 1;
  }
  return C;
}
int mul1[MAXN], mul2[MAXN], inv[MAXN];
int powp[MAXN];
int ans;
int main() {
  cin >> n >> m >> k;
  powp[1] = power(m, mod - 2);
  mul1[1] = n;
  mul2[1] = 1;
  inv[1] = 1;
  S[0][0] = 1;
  for (int i = 1; i <= k; i++) {
    S[i][0] = 0;
    for (int j = 1; j <= i; j++) {
      S[i][j] = (S[i - 1][j - 1] + S[i - 1][j] * (long long)j % mod) % mod;
    }
  }
  for (int i = 1; i <= k; i++) {
    powp[i + 1] = powp[i] * (long long)powp[1] % mod;
    inv[i + 1] = power(i + 1, mod - 2);
    mul1[i + 1] = mul1[i] * (long long)inv[i + 1] % mod * (n - i) % mod;
    mul2[i + 1] = mul2[i] * (long long)(i + 1) % mod;
    ans = (ans +
           mul1[i] * (long long)mul2[i] % mod * powp[i] % mod * S[k][i] % mod) %
          mod;
  }
  cout << ans << endl;
}
