#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2010;
const long long mod = 998244353;
long long memo[MAXN][MAXN];
long long n, m, k;
long long func(long long x, long long y) {
  if (x == n && y == k) return 1;
  if (x == n) return 0;
  if (memo[x][y] != -1) return memo[x][y];
  return memo[x][y] = (func(x + 1, y + 1) * (m - 1) + func(x + 1, y)) % mod;
}
signed main() {
  memset(memo, -1, sizeof memo);
  cin >> n >> m >> k;
  cout << (func(1, 0) * m) % mod << endl;
}
