#include #include #include #include #define rep(i, a, n) for(int i = a; i < n; i++) using namespace std; using ll = long long; using P = pair; const int mod = 1000000007; ll combination(ll n, ll r){ if(r > n - r) r = n - r; ll fact = 1, ifact = 1; rep(i, 0, r){ fact *= (n - i); ifact *= (i + 1); } //cout << fact << " " << ifact << endl; return (fact/ifact) % mod; } ll factorial(ll n){ ll fact = 1; rep(i, 0, n){ fact = (fact*(n - i)) % mod; } return fact % mod; } int main() { ll n, m; cin >> n >> m; ll ans = 0; ans = combination(n, m); //cout << ans << endl; ans *= factorial(m); //cout << ans << endl; cout << ans % mod << endl; return 0; }