#include<bits/stdc++.h>
using namespace std;

long long mod=998244353,ara[200044];

long long bigmod(long long n,long long p)
{
     if(p==0)return 1;
     if(p%2==0)
     {
         long long ret=bigmod(n,p/2);
         return ((ret%mod)*(ret%mod))%mod;
     }
     else
        return ((n%mod)*(bigmod(n,p-1)%mod))%mod;
}


int main()
{

    long long n,m,k,a,b,d,e,f,g,h,fr,sc,c=1,i,j,ans=0;   ara[0]=1;

    scanf("%lld %lld %lld",&n,&m,&k);

    for(i=1;i<=n+4;i++)
    {
        c=(c*i)%mod;  ara[i]=c;
    }

    b=n-1-k;

    for(i=b;i<=n-1;i++)
    {
        d=ara[n-1];   e=(ara[i]*ara[n-1-i])%mod;
        f=bigmod(e,mod-2);  g=(d*f)%mod;

        h=(g*m)%mod;  fr=bigmod(m-1,i);   sc=(h*fr)%mod;

        ans=(ans+sc)%mod;

    }

    printf("%lld\n",ans);


    return 0;
}
