mod = 10 ** 9 + 7 def euler_phi_table(N): res = list(range(N)) for i in range(2, N): if res[i] == i: for j in range(i, N, i): res[j] = res[j] // i * (i - 1) return res N, M = map(int, input().split()) euler = euler_phi_table(N+10) ans = 0 for i in range(2, N // M + 1): ans += euler[i] ans %= mod for i in range(1, N - 1): ans *= i ans %= mod ans = 2 * ans % mod print(ans)