#include <bits/stdc++.h>
using namespace std;
long long MOD=998244353;
long long fac[200005], inv[200005];
long long modpow(long long x,long long e){
	if(x==1||e==0) return 1;
	long long c=modpow(x,e/2);
	long long c1=(c*c)%MOD;
	if(e%2==0) return c1;
	else return (c1*x)%MOD;
}
long long choose(long long n, long long k){
	if(k>n) return 0;
	return ((fac[n]*inv[k])%MOD*inv[n-k])%MOD;
}
int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	fac[0]=inv[0]=1;
	for(int i=1;i<200005;i++){
		fac[i]=(fac[i-1]*i)%MOD;
		inv[i]=(inv[i-1]*modpow(i, MOD-2))%MOD;
	}
	long long ans=0;
	long long n, m, k;
	cin>>n>>m>>k;
	for(int i=0;i<=k;i++){
		long long add=((m*choose(n-1, i))%MOD*modpow(m-1, n-i-1))%MOD;
		//cout<<add<<endl;
		ans=(ans+add)%MOD;
	}
	cout<<ans;
}