#include <bits/stdc++.h>
using namespace std;
long long int power(long long int x, long long int y, long long int p) {
  long long int res = 1;
  x = x % p;
  while (y > 0) {
    if (y & 1) res = (res * x) % p;
    y = y / 2;
    x = (x * x) % p;
  }
  return res;
}
long long int modInverse(long long int n, long long int p) {
  return power(n, p - 2, p);
}
unsigned long long int nChoosek(unsigned long long int n,
                                unsigned long long int r,
                                unsigned long long int p) {
  if (r == 0) return 1;
  long long int fac[n + 1];
  fac[0] = 1;
  for (long long int i = 1; i <= n; i++) fac[i] = fac[i - 1] * i % p;
  return (fac[n] * modInverse(fac[r], p) % p * modInverse(fac[n - r], p) % p) %
         p;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  unsigned long long int n, m, k;
  cin >> n >> m >> k;
  unsigned long long int pro = 1;
  unsigned long long int t = 998244353;
  for (unsigned long long int i = 0; i < k; i++) {
    pro *= (m - 1);
    pro %= t;
  }
  pro %= t;
  pro *= (m);
  pro %= t;
  unsigned long long int w = nChoosek((n - 1), k, t);
  w %= t;
  pro %= t;
  pro = pro * w;
  pro %= t;
  cout << pro;
  return 0;
}
