#include<bits/stdc++.h>
using namespace std;
#define mod 10007
int inv[10008];
int f[3005],invf[3005];//阶乘,阶乘逆元
void init(){
inv[0]=inv[1]=1;//线性逆元打表
for(int i=2;i<=10006;i++){
inv[i]=(mod-mod/i)*inv[mod%i]%mod;
}
f[0]=f[1]=1,invf[0]=invf[1]=1;//阶乘以及阶乘打表
for(int i=2;i<=1005;i++){
f[i]=f[i-1]*i%mod;
invf[i]=invf[i-1]*inv[i]%mod;
}
}
int a,b,k,n,m;
int Pow(int a,int n){
int res=1;
while(n){
if(n%2)res=(long long)res*a%mod;
n>>=1;a=(long long)a*a%mod;
}
return res;
}
int C(int k,int n){
return (f[k]*invf[n]%mod)*invf[k-n]%mod;
}
int main(){
init();
cin>>a>>b>>k>>n>>m;
int t1=Pow(a,n);
int t2=Pow(b,m);
int t3=C(k,n);
cout<<(t1*t2%mod)*t3%mod;
}