#include <bits/stdc++.h>
using namespace std;
using namespace std;
int n, k;
long long int d[8] = {1, 1, 3, 16, 125, 1296, 16807, 262144};
long long int t;
int main() {
  cin >> n >> k;
  t = k;
  t *= d[k - 1];
  t %= 1000000007;
  for (int i = k + 1; i <= n; i++) {
    t *= (n - k);
    t %= 1000000007;
  }
  cout << t << endl;
}
