#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e6+9,mod=998244353;
int n,m,k,ans,fact[N],inv[N];
int qp(int a,int b=mod-2){
    return (b==0?1:(b%2?qp(a*a%mod,b/2)*a%mod:qp(a*a%mod,b/2)));
}
int C(int a,int b){return fact[a]*inv[b]%mod*inv[a-b]%mod;}
signed main(){
	scanf("%lld%lld%lld",&n,&m,&k);
	for(int i=0;i<=n;i++) fact[i]=(i==0?1:fact[i-1]*i%mod);
	for(int i=n;i>=0;i--) inv[i]=(i==n?qp(fact[n]):inv[i+1]*(i+1)%mod);
	for(int j=0;j<=k;j++){
		ans=(ans+m*C(n-1,j)%mod*qp(m-1,n-j-1))%mod;
	}
	printf("%lld",ans);
	return 0;
} 