//Accepted 420K 16MS //考虑 0和n! does not divide // 1和0! divides #include <cstdio> #include <cstring> #include <iostream> using namespace std; <<)+; int pri[imax_n]; int cnt; void prime() { ;i<imax_n;i++) { if ((long long )i*i<(long long )imax_n) for (int j=i*i;j<imax_n;j+=i) { pri[j]=; } } cnt=; ;i<imax_n;i++) ) pri[cnt++]=i; } int getNumber(int n,int k) { ; ) ; ) { ans+=n/k; n/=k; } return ans; } int split(int n,int m) { int t; //printf("n=%d\n",n); ) ; ) { ) ; ; } ;i<cnt && (__int64 )pri[i]*pri[i]<=(__int64 )n;i++) { ) { //printf("pri=%d\n",pri[i]); t=; ) { t++; n/=pri[i]; } int temp=getNumber(m,pri[i]); //printf("temp=%d t=%d\n",temp,t); ; } } ) { int temp=getNumber(m,n); ) ; } ; } int main() { prime(); int n,m; while (scanf("%d%d",&n,&m)!=EOF) { int ans=split(m,n); ) { printf("%d divides %d!\n",m,n); } else { printf("%d does not divide %d!\n",m,n); } } ; }