#include #include #include #include #include #include #include #include #include #define inf (1<<30) #define INF (1ll<<62) #define prt(x) cout<<#x<<":"<void sc(T &x){ int f=1;x=0;char c; while(c=getchar(),c<48)if(c=='-')f=-1; do x=x*10+(c^48); while(c=getchar(),c>47); x*=f; } templatevoid nt(T x){ if(!x)return; nt(x/10);putchar('0'+x%10); } templatevoid pt(T x){ if(x<0)putchar('-'),x=-x; if(!x)putchar('0'); else nt(x); } int n,m; const int M=32000; int prm[M],tot; bool mark[M+5]; void init(){ for(int i=2;i<=M;i++){ if(mark[i])continue; prm[++tot]=i; for(int j=i*2;j<=M;j+=i) mark[j]=true; } } void solve(){ sc(n);sc(m); int i,ans=0; for(i=1;i<=tot&&prm[i]<=m&&1ll*prm[i]*mm){ int l=1,r=tot,res; while(l<=r){ int mid=l+r>>1; if(prm[mid]<=m&&1ll*prm[mid]*m