#include<bits/stdc++.h> using namespace std; bool isprime(int x){ for(int i=2;i<x;i++){ if(x%i==0){ return false; } } return true; } void prime(int x,vector<int>& p){ for(int i=2;i<=x;i++){ while(x%i==0){ x/=i; p[i]++; } } } void isp(int x,vector<int>& p){ for(int i=2;i<=x;i++){ if(isprime(i)){ int w=i; while(w<=x){ int z=x/w; p[i]+=z; w*=i; } } } } int main(){ int n,a;int k; while(cin>>n>>a){ k=INT_MAX; vector<int> p1(1000,0);vector<int> p2(1000,0); isp(n,p1);prime(a,p2); for(int i=2;i<1000;i++){ if(p2[i]!=0){ k=min(k,p1[i]/p2[i]); } } if(k==INT_MAX)cout<<0<<endl; else cout<<k<<endl; } }