#include <bits/stdc++.h>
using namespace std;
const long long mod = (long long)1e9 + 7;
long long n, m, k;
const long long moll = 998244353;
long long fact(long long n) {
  if (n == 0) return 1;
  return (n * fact(n - 1)) % moll;
}
long long binpow(long long a, long long b) {
  if (b == 0) return 1;
  if (b % 2 == 0) return (binpow((a * a) % moll, b / 2)) % moll;
  return (a * (binpow((a * a) % moll, b / 2))) % moll;
}
long long C(long long n, long long k) {
  long long x = (fact(n) * binpow(fact(k), moll - 2)) % moll;
  x *= binpow(fact(n - k), moll - 2);
  x %= moll;
  if (x < 0) x += moll;
  return x;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cin >> n >> m >> k;
  long long x = m;
  x *= C(n - 1, k);
  x %= moll;
  x *= binpow(m - 1, k);
  x %= moll;
  if (x < 0) x += moll;
  cout << x << endl;
  return 0;
}
