using namespace std;
int main(){
long long n,k,mod=1e9+7;
cin>>n>>k;
long long k1=k;
long long x=k-1;
long long ans=1;
while(x){
if(x&1) ans*=k;
k*=k;
x=x>>1;
ans%=mod;
k%=mod;
}
long long kun1=n-k1,kun2=n-k1,ans2=1;
while(kun1){
if(kun1&1) ans2*=kun2;
kun2*=kun2;
kun1=kun1>>1;
ans2%=mod;
kun2%=mod;
}
cout<<ans*ans2%mod<<endl;
}