n,p = map(int,input().split()) mod = 10**9+7 num = 0 facts = 1 fact2 = 1 for i in range(1,n+1): now = i while now%p == 0: now //= p num += 1 facts *= i facts %= mod fact2 *= i fact2 %= mod-1 po = pow(facts,fact2,mod) ans = num * po % mod print(ans)