#include <bits/stdc++.h>
using namespace std;
using LL = long long;
using ULL = unsigned long long;
using PII = pair<int, int>;
using PIL = pair<int, LL>;
using PLL = pair<LL, LL>;
const int mod = 998244353;
inline void quickread() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
}
int s[5010][5010];
int n, m, k, p;
int quickmul(int x, int y) {
  int ret = 1, cur = x;
  while (y) {
    if (y & 1) {
      ret = (LL)ret * cur % mod;
    }
    cur = (LL)cur * cur % mod;
    y >>= 1;
  }
  return ret;
}
int main() {
  quickread();
  cin >> n >> m >> k;
  s[0][0] = 1;
  for (int i = 1; i <= k; ++i) {
    for (int j = 1; j <= k; ++j) {
      s[i][j] = ((LL)s[i - 1][j - 1] + (LL)j * s[i - 1][j]) % mod;
    }
  }
  p = quickmul(m, mod - 2);
  int down = 1, pmul = 1, ans = 0;
  for (int i = 1; i <= min(k, n); ++i) {
    down = (LL)down * (n - i + 1) % mod;
    pmul = (LL)pmul * p % mod;
    ans = (ans + (LL)s[k][i] * down % mod * pmul % mod) % mod;
  }
  cout << ans << endl;
  return 0;
}
