N,K,M = map(int,input().split()) def prime_factorize(n): prime = [] f = 2 while(f * f <= n): if(n % f == 0): n //= f cnt = 1 while(n % f == 0): n //= f cnt += 1 prime.append((f,cnt)) f += 1 if(n != 1): prime.append((n,1)) return prime def digit_sum(n, p): res = 0 while(n): res += n % p n //= p return res def kummer(N,K,p,q): R = N - K cnt = (digit_sum(R, p) - digit_sum(N, p) + digit_sum(K, p)) // (p - 1) return cnt // q prime = prime_factorize(M) ans = 10 ** 18 for p,c in prime: cnt = kummer(N,K,p,c) if(ans > cnt): ans = cnt print(ans)