#include <bits/stdc++.h>
using namespace std;
int n, m, k;
const long long int MOD = 998244353;
long long int memo[2005][2005];
long long int dp(int i, int ki) {
  if (i >= n) return ki == k;
  if (memo[i][ki] != -1) return memo[i][ki];
  long long int ans = 0;
  if (ki < k) ans = (ans + ((m - 1) * dp(i + 1, ki + 1)) % MOD) % MOD;
  ans = (ans + dp(i + 1, ki)) % MOD;
  return memo[i][ki] = ans;
}
int main() {
  cin >> n >> m >> k;
  memset(memo, -1, sizeof(memo));
  cout << (m * dp(1, 0)) % MOD << "\n";
  return 0;
}
