O2优化是个好东西
#include<bits/stdc++.h>
using namespace std;
int Prime[50900000];
bool Flag[100000000];
void OulaSieve(){
int pos=0;
for(int i=2;i<=100000000;i++){
if(Flag[i]){
Prime[pos++]=i;
}
for(int j=0;j<pos&&i*Prime[j]<100000000;j++){
Flag[i*Prime[j]]=false;
if(i%Prime[j]==0)
break;
}
}
}
int main(){
memset(Flag,true,sizeof(Flag));
Flag[0]=false;Flag[1]=false;
OulaSieve();
int n,m,l,r;
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>l>>r;
if(l>=1&&l<m&&r<=m){
int cnt=0;
for(int j=l;j<=r;j++){
if(Flag[j])
cnt++;
}
cout<<cnt<<endl;
}else{
cout<<"Crossing the line"<<endl;
}
}
return 0;
}