#pragma GCC optimize ("O3")
#include <bits/stdc++.h>
#define endl "\n"
using namespace std;

long long MODLE=998244353;
long long dp[1000002];


int main(){

    long long n,m,k,ans=1;
    cin>>n>>m>>k;
    if(k==1){
        for(int i=0;i<n;i++)ans=(ans*m)%MODLE;
        cout<<ans<<endl;
    }else{
        for(int i=0;i<n;i++)ans=(ans*m)%MODLE;
        long long ko=m;
        for(int i=1;i<n;i++)ko=(ko*(m-1))%MODLE;
        cout<<ans-ko<<endl;
    }


    return 0;
}
