#include <bits/stdc++.h>
using namespace std;
int n, k;
long long int r;
long long int powermod(long long int B, long long int P, long long int M) {
  long long int r = 1;
  if (B >= M) B %= M;
  while (P > 0) {
    if ((P & 1) == 1) {
      r *= B;
      if (r >= M) r %= M;
    }
    P >>= 1;
    B *= B;
    if (B >= M) B %= M;
  }
  return r;
}
int main() {
  scanf("%d%d", &n, &k);
  r = powermod(n - k, n - k, 1000000007);
  r %= 1000000007;
  r *= powermod(k, k - 1, 1000000007);
  r %= 1000000007;
  printf("%I64d\n", r);
  return 0;
}
