#include <bits/stdc++.h>
using namespace std;
long long bin(int n, int k) {
  if (!k) return 1;
  if (k % 2)
    return ((((bin(n, k / 2) % 1000000007) * (bin(n, k / 2) % 1000000007)) %
             1000000007) *
            n) %
           1000000007;
  return ((bin(n, k / 2) % 1000000007) * (bin(n, k / 2) % 1000000007)) %
         1000000007;
}
int n, k;
int main() {
  cin >> n >> k;
  cout << (((bin(k, k - 1) % 1000000007) * (bin(n - k, n - k)) % 1000000007)) %
              1000000007;
  return 0;
}
