#include<bits/stdc++.h>
#define lli long long int
using namespace std;
const lli MAXN=1000005, MOD=998244353;
lli N, M, K, dp[MAXN];
lli f(lli ost){
    if(ost<0)return 0;
    if(ost==0)return 1;
    if(dp[ost]!=0)return dp[ost];
    lli ans=0, umn;
    if(ost==N)umn=M;
    else umn=M-1;
    for(lli i=1; i<K and i<=ost; i++){
        ans=(ans+(f(ost-i)*umn))%MOD;
    }
    dp[ost]=ans%MOD;
    return dp[ost];
}
int main() {
    cin>>N>>M>>K;
    lli ans=1;
    for(lli i=0; i<N; i++){
        ans=(ans*M)%MOD;
    }
    cout<<ans<<endl;
    return 0;
}
