#include <bits/stdc++.h>
using namespace std;
const int mod = 1000000007;
int main() {
  ios::sync_with_stdio(false);
  int n, k, m = 1;
  long long z = 0;
  cin >> n >> k;
  for (int i = 0; i < k; i++) m *= k;
  for (int i = 0; i < m; i++) {
    int a[8] = {}, b = i, c = 0;
    for (int j = 0; j < k; j++) a[j] = b % k, b /= k;
    for (int j = 0; j < k; j++) {
      int d = j, e = 0;
      for (int l = 0; l < k; l++) {
        d = a[d];
        if (d == 0) {
          e = 1;
          break;
        }
      }
      if (!e) {
        c = 1;
        break;
      }
    }
    if (!c) z++;
  }
  for (int i = 0; i < n - k; i++) z = z * (n - k) % mod;
  cout << z;
}
