mod=10**9+7 n,p=map(int,input().split()) cnt=0 for i in range(1,n+1): while i%p==0: cnt+=1 i//=p x=1 y=1 for i in range(1,n+1): x*=i y*=i x%=mod y%=mod-1 z=pow(x,y,mod) print(cnt*z%mod)