#include <bits/stdc++.h>
using namespace std;
int N, M, mod = 1000000007;
int main() {
	cin >> N >> M;
	int ret = 0;
	for(int i = 1; i <= N; i++) {
		for(int j = 1; j < i; j++) {
			if(i != j && __gcd(i, j) == M) {
				ret += 2;
				if(ret >= mod) ret -= mod;
			}
		}
	}
	for(int i = 1; i <= N - 2; i++) ret = 1LL * ret * i % mod;
	cout << ret << endl;
	return 0;
}