#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;
}
转载于:https://www.cnblogs.com/zsben991126/p/10614120.html