#include #include #include using namespace std; using namespace atcoder; using mint = modint1000000007; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000001 #define Inf64 4000000000000000001 int main(){ long long n; cin>>n; long long p; cin>>p; mint ans = 0; { long long t = n; while(t!=0){ ans += t/p; t /= p; } } long long pp = 1000000006; long long cur = 1; rep(i,n){ cur *= i+1; cur %= pp+1; } long long cc = 1; rep(i,n){ cur = pow_mod(cur,i+1,pp+1); } cc = cur; // cout<