#include <bits/stdc++.h>
template <class t>
void maxi(t &x, t y) {
  if (x < y) x = y;
}
template <class t>
void mini(t &x, t y) {
  if (x > y) x = y;
}
using namespace std;
int n, m, k, mod = 998244353;
long long dp[2005][2005];
long long solve(int in, int rk) {
  if (in == n - 1) return rk == 0;
  if (rk < 0) return 0ll;
  long long &ans = dp[in][rk];
  if (ans != -1) return ans;
  ans = solve(in + 1, rk);
  ans += (m - 1) * solve(in + 1, rk - 1);
  ans %= mod;
  return ans;
}
int main() {
  ios::sync_with_stdio(0);
  cin >> n >> m >> k;
  for (int(i) = 0; (i) < (2005); (i)++)
    for (int(j) = 0; (j) < (2005); (j)++) dp[i][j] = -1;
  long long ans = (solve(0, k) * m) % mod;
  cout << ans << endl;
  return 0;
}
