#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1e6+5;
vector<ll> V;
const ll mod=998244353;
ll fapow(ll a,ll b){
    ll ans=1;
    for(;b;b>>=1,a=a*a%mod) if(b&1) ans=ans*a%mod;
    return ans;
}
ll fac[maxn];
ll C(ll n,ll m){
    return fac[n]*fapow(fac[n-m]*fac[m]%mod,mod-2)%mod;
}
int main() {
    fac[0]=1;
    for(int i=1;i<maxn;i++) fac[i]=(fac[i-1]*i)%mod;
    ll n,m,k;cin>>n>>m>>k;
    ll ans=0;
    for(int i=0;i<=k;i++){
        ans=(ans+((C(n-1,i)*m%mod)*fapow(m-1,n-i-1))%mod)%mod;
    }
    cout<<ans<<endl;
    return 0;
}