#include <bits/stdc++.h>
using namespace std;
const int mod = 998244353;
int n, m, k;
int s[5050][5050];
inline long long qpow(long long x, int k, long long r = 1) {
  for (; k; k >>= 1, x = x * x % mod)
    if (k & 1) r = r * x % mod;
  return r;
}
inline int read(register int x = 0, register bool f = 0,
                register char ch = getchar()) {
  for (; !isdigit(ch); ch = getchar()) f = ch == '-';
  for (; isdigit(ch); ch = getchar()) x = (x << 3) + (x << 1) + (ch ^ 48);
  return f ? -x : x;
}
int main() {
  n = read();
  m = read();
  k = read();
  long long ans = 0, f = 1;
  for (int i = s[0][0] = 1; i <= k; ++i)
    for (int j = 1; j <= i; ++j)
      s[i][j] = (s[i - 1][j - 1] + 1ll * s[i - 1][j] * j) % mod;
  for (int i = 0; i <= k; f = f * (n - i) % mod, ++i)
    (ans += s[k][i] * f % mod * qpow(qpow(m, mod - 2), i)) %= mod;
  return printf("%lld\n", ans), 0;
}
