#include<bits/stdc++.h>
#define ll long long
#define INF 0x3f3f3f3f
using namespace std;
ll a,b,k,n,m,arr[1005][1005];
ll pow(ll x,ll y){
ll ans=1,pas=x;
while(y){
if(y&1)
ans=anspas%10007;
pas=paspas%10007;
y>>=1;
}
return ans%10007;
}
int main(){
cin>>a>>b>>k>>n>>m;
arr[0][1]=1;
arr[0][2]=1;
for(int i=1;i<k;i++){
for(int j=1;j<=i+2;j++){
arr[i][j]=(arr[i-1][j-1]+arr[i-1][j])%10007;
}
}
ll ans = arr[k-1][m+1]pow(b,m)%10007;
ans = anspow(a,n)%10007;
cout<<ans%10007;
return 0;
}