1 #include<bits/stdc++.h> 2 using namespace std; 3 #define rep(i,a,b) for(int i=a;i<=b;++i) 4 #define ms(arr,a) memset(arr,a,sizeof arr) 5 typedef long long ll; 6 const ll F=1e9+7; 7 ll Pow(ll a,ll n) 8 { 9 ll ret=1; 10 while(n) 11 { 12 if(n&1)ret=ret*a%F; 13 a=a*a%F; 14 n/=2; 15 } 16 return ret; 17 } 18 int main() 19 { 20 //freopen("Input.txt","r",stdin); 21 //freopen("Output.txt","w",stdout); 22 int T; 23 scanf("%d",&T); 24 rep(Case,1,T) 25 { 26 ll N,M,K; 27 scanf("%lld%lld%lld",&N,&M,&K); 28 ll ans=0; 29 rep(s,2,K)ans=(Pow(ll(s-1),N+M-2)+ans)%F; 30 ans=ans*N*M%F*Pow(K,(N-1)*(M-1))%F; 31 ans=(ans+Pow(K,N*M))%F; 32 printf("Case #%d: %lld ",Case,ans); 33 } 34 //freopen("CON","w",stdout); 35 //system("start Output.txt"); 36 }