#include <bits/stdc++.h>
using namespace std;
long long n, m, k, comb[2003][2003];
long long mul(long long a, long long b) {
  return (a % 998244353 * b % 998244353) % 998244353;
}
long long ncr(long long n, long long r) {
  long long &ans = comb[n][r];
  if (ans != -1) return ans;
  if (r > n) return ans = 0;
  if (r == 0) return ans = 1;
  if (r == 1) return ans = n;
  return ans = (ncr(n - 1, r) % 998244353 + ncr(n - 1, r - 1) % 998244353) %
               998244353;
}
int32_t main() {
  ios::sync_with_stdio(false), cin.tie(nullptr);
  ;
  cin >> n >> m >> k;
  memset(comb, -1, sizeof comb);
  long long ans = m;
  for (long long i = 0; i < k; i++) {
    ans = mul(ans, m - 1);
  }
  long long temp = ncr(n - 1, k);
  ans = mul(ans, temp);
  cout << ans;
}
