#include <bits/stdc++.h>
using namespace std;
int64_t ncr(int64_t n, int64_t r) {
  if (r > n - r) r = n - r;
  int64_t C[r + 1];
  memset(C, 0, sizeof(C));
  C[0] = 1;
  for (int64_t i = 1; i <= n; i++) {
    for (int64_t j = min(i, r); j > 0; j--) {
      C[j] = (C[j] + C[j - 1]) % 998244353;
    }
  }
  return C[r];
}
int64_t modular_exp(int64_t a, int64_t b) {
  int64_t res = 1;
  int64_t p = 1;
  while (b) {
    int64_t bit = b & 1;
    if (bit == 1) {
      res = (res * a) % 998244353;
    }
    b = b >> 1;
    a = (a * a) % 998244353;
  }
  return res % 998244353;
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int64_t n, m, k;
  cin >> n >> m >> k;
  int64_t res = ncr(n - 1, k);
  int64_t x = (m * modular_exp(m - 1, k)) % 998244353;
  res = (res * x) % 998244353;
  cout << res;
  return 0;
}
