#include <bits/stdc++.h>
using namespace std;
long long int n, k, maxi = 1000000007, x, y;
long long int p(long long int a, long long int b) {
  long long int c = 1;
  for (int i = 1; i <= b; i++) {
    c = (c * a) % maxi;
  }
  return c;
}
int main() {
  cin >> n >> k;
  x = p(k, k - 1);
  y = p(n - k, n - k);
  cout << (x * y) % maxi << endl;
  return 0;
}
