#include <bits/stdc++.h> #define INF 4611686018427387903ll using namespace std; using ll = long long; vector<pair<ll, int> > prime_factorize(ll n){ vector<pair<ll, int> > ret = {}; ll f = 2; while(f * f <= n){ if(n % f == 0){ n /= f; int cnt = 1; while(n % f == 0){ n /= f; ++cnt; } ret.push_back({f, cnt}); } ++f; } if(n != 1){ ret.push_back({n, 1}); } return ret; } ll kummer(ll N, ll K, ll p, int q) { ll R = N - K; ll c = 0; ll cnt = 0; while (R or K) { ll a = R % p; ll b = K % p; if (a + b + c >= p) { cnt++; c = (a + b + c) / p; } else { c = 0; } R /= p; K /= p; } return cnt / q; } int main(){ ll N, K, M; cin >> N >> K >> M; vector<pair<ll, int> > primes = prime_factorize(M); ll ans = INF; for(auto&[p, c] : primes){ ll x = kummer(N, K, p, c); if(ans <= x){ continue; } ans = x; } cout << ans << endl; return 0; }