#include <bits/stdc++.h>
using namespace std;
long long pow(long long a, long long n, long long m) {
  if (n == 0) return 1 % m;
  if (n == 1) return a % m;
  long long r = pow(a, n / 2, m);
  if (n % 2 == 0) {
    return (r * r) % m;
  }
  return (((r * r) % m) * a) % m;
}
long long gcd(long long a, long long b) {
  if (a == 0) return b;
  return gcd(b % a, a);
}
bool isL(int y) { return (y % 400 == 0) || (y % 4 == 0 && y % 100 != 0); }
long long mod = 998244353;
long long coe[5001][5001];
long long f[5001];
long long x[5001];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long m, n, k;
  cin >> m >> n >> k;
  coe[0][0] = 1;
  coe[1][1] = 1;
  for (int i = 2; i <= 5000; i++) {
    for (int j = 1; j <= 4999; j++) {
      coe[i][j] += j * coe[i - 1][j];
      coe[i][j] %= mod;
      coe[i][j + 1] += coe[i - 1][j];
      coe[i][j + 1] %= mod;
    }
  }
  f[1] = m;
  for (int i = 2; i <= 5000; i++) {
    f[i] = f[i - 1] * (m - i + 1);
    f[i] %= mod;
  }
  long long xx;
  xx = pow(n, mod - 2, mod);
  x[0] = 1;
  for (int i = 1; i <= 5000; i++) {
    x[i] = x[i - 1] * xx;
    x[i] %= mod;
  }
  long long ans = 0;
  for (int i = 1; i <= 5000; i++) {
    long long z = ((coe[k][i] * f[i]) % mod);
    z *= x[i];
    z %= mod;
    ans += z;
    ans %= mod;
  }
  cout << ans << endl;
  return 0;
}
