#include #include #include #include using namespace std; #include #define SSS 6000 #define SIZE 1000000 #define INF 2000000000 #define NUM 200 __int64 aa[300]; __int64 rr[50000]; int pri[NUM]; int sub[SIZE]; int pdsu(__int64 n) { __int64 i; if(n<=0||n==1 ) return 0; if( n==2) return 1; else{ for(i=2; i*i<=n; i++) if(n%i==0) return 0; } return 1; } void sf(){ int temp,n; for(int i=0;i INF){ continue; } if(next <0 ) continue; if(next >= SIZE){ if(!pdsu(next)) continue ; } else{ if(!sub[next]) continue ; } res = res * next; if(res >INF) continue; while(1){ next2 = next * a +b; if(next2 == next ) break; if(res * next2 > INF){ break; } if(next2 <0 ) break; if(next2 >= SIZE){ if(!pdsu(next2)) break ; } else{ if(!sub[next2]) break ; } res = res * next2; if(res >INF) break; rr[t++] = res ; next = next2 ; } } } for(int i = 0 ; irr[j]){ int temp = rr[i]; rr[i] = rr[j]; rr[j] = temp; } } int ccc = 0; for(int i = 0 ; i =aa[i]) ans++; } printf("%d\n",ans); } return 0 ; }