#include <bits/stdc++.h>
int main() {
  int n, m, k, p = 998244353;
  unsigned long ans[2][2001];
  uint8_t c = 0;
  scanf("%d %d %d", &n, &m, &k);
  if (m == 1 && k != 0) {
    printf("0\n");
    return 0;
  }
  for (int j = 0; j <= n; ++j) ans[c][j] = m;
  for (int j = 1; j <= k; ++j) {
    ans[c ^ 1][j + 1] = (((unsigned long long)ans[c][j]) * (m - 1)) % p;
    for (int i = j + 2; i <= n; ++i) {
      ans[c ^ 1][i] =
          (ans[c ^ 1][i - 1] + ((unsigned long long)ans[c][i - 1]) * (m - 1)) %
          p;
    }
    c = c ^ 1;
  }
  printf("%d", ans[c][n]);
  return 0;
}
