mod=int(1e9+7) fact=[0]*200001 invfact=[0]*200001 n,m,k=map(int,input().split()) fact[0]=1 for i in range(1,k+1): fact[i]=fact[i-1]*i%mod for i in range(k+1): a=fact[i] mm=mod-2 b=1 while mm: if mm&1: b*=a b%=mod a*=a a%=mod mm>>=1 invfact[i]=b ans=0 for i in range(1,k+1): tmp=0 if n==1: a=i-1 x=i mm=m-1 b=1 while mm: if mm&1: b*=a b%=mod a*=a a%=mod mm>>=1 tmp=b*x%mod if n==2: a=(i*i-3*i+3)%mod x=(i*i-i)%mod mm=m-1 b=1 while mm: if mm&1: b*=a b%=mod a*=a a%=mod mm>>=1 tmp=b*x%mod if n==3: a00=(i*i*i-i*i*6+i*14-13)%mod a01=(i*i*i-i*i*6+i*13-10)%mod a10=(i*i-i*4+5)%mod a11=(i*i-i*3+3)%mod x=(i*i*i-i*i*3+i*2)%mod y=(i*i-i)%mod mm=m-1 b00=1 b01=0 b10=0 b11=1 while mm: if mm&1: bb00=(b00*a00+b01*a10)%mod bb01=(b00*a01+b01*a11)%mod bb10=(b10*a00+b11*a10)%mod bb11=(b10*a01+b11*a11)%mod b00=bb00 b01=bb01 b10=bb10 b11=bb11 aa00=(a00*a00+a01*a10)%mod aa01=(a00*a01+a01*a11)%mod aa10=(a10*a00+a11*a10)%mod aa11=(a10*a01+a11*a11)%mod a00=aa00 a01=aa01 a10=aa10 a11=aa11 mm>>=1 tmp=(b00*x+b01*y+b10*x+b11*y)%mod tmp*=fact[k]*invfact[i]%mod*invfact[k-i]%mod tmp%=mod if(k-i)&1: tmp=(-tmp+mod)%mod ans+=tmp ans%=mod print(ans)