#include using namespace std; int main() { long long N,K,M; cin >> N >> K >> M; mapmp; for(long long i = 2; i*i <= M; i++) { while (M%i == 0) { M /= i; mp[i]++; } } if(M != 1) { mp[M]++; } long long ans = 1001001001001001001; for(auto i:mp) { long long tmp = i.first,sum = 0; while (true) { sum += N/tmp-(N-K)/tmp; sum -= K/tmp; if(N/i.first >= tmp) { tmp *= i.first; } else { break; } } ans = min(ans,sum/i.second); } cout << ans << endl; }