#include using namespace std; typedef long long ll; ll pw(ll a,ll x,ll mod){ ll ret = 1; while(x){ if(x&1) (ret *= a) %= mod; (a *= a) %= mod; x /= 2; } return ret; } ll mod = 1000000007; int main(){ ll n,p; cin >> n >> p; ll i,x = p,sum = 0; while(x<=n){ sum += n/x; x *= p; } sum %= mod; ll f1 = 1,f2 = 1; for(i=1;i<=n;i++){ (f1 *= i) %= mod; (f2 *= i) %= (mod - 1); } ll y = pw(f1,f2,mod); (sum *= y) %= mod; cout << sum << endl; }