爆50分 , 求神犇们调一调
#include <iostream>
using namespace std;
#define long long int
const int mod = 10007 ;
const int maxn = 10010 ;
int a , b , k , n , m , ans ;
int f[maxn][maxn];
void pre(int n){
f[1][1] = 1 ;
for(int i = 2 ; i <= n ; i++){
for(int j = 1 ; j <= i ; j++){
f[i][j] = ( f[i - 1][j] + f[i - 1][j - 1] ) % mod;
}
}
return ;
}
int qpow(int a , int b , int p){
int ans = 1 ;
while(b & 1){
if(b & 1) ans = ans * a % p ;
a = a * a % p ;
b >>= 1 ;
}
return ans ;
}
signed main(){
ios::sync_with_stdio(0) ;
cin>>a>>b>>k>>n>>m;
pre(k + 1) ;
ans = ((qpow(a , n , mod) * qpow(b , n , mod)) * f[k + 1][k - n + 1] ) % mod;
cout<<ans ;
return 0;
}