func_code_string: #include <bits/stdc++.h>   using namespace std;   long long int modexp(long long int a, long long int b) {     long long int ret = 1;     while (b) {       if ((b & 1)) {         ret *= a;         ret %= 1000000007;       }       a *= a;       a %= 1000000007;       b >>= 1;     }     return ret;   }   long long int fact[200000];   int main() {     int n, k;     long long int ret = 1;     fact[0] = 1;     int i;     for (i = 1; i <= 1000; i++) {       fact[i] = fact[i - 1] * i;       fact[i] %= 1000000007;     }     scanf( %d %d , &n, &k);     ret *= modexp(k, k - 1);     ret %= 1000000007;     ret *= modexp(n - k, n - k);     ret %= 1000000007;     cout << ret << endl;     return 0;   }   