what is the problem with this piece of code
#include
using namespace std;
int countprime(long int a,long int b){
long int count=0;
long int i,j;
for(i=a;i<=b;i++){
int flag=0;
for(j=2;j<=i/2;j++){
if(i%j==0){
flag=1;
break;}
}
if(flag!=1&&i!=1)
count++;
}
return count;
}
int main() {
int n;
cin>>n;
int i,j,k;
for(i=0;i<n;i++){
long int a,b;
cin>>a>>b;
long int t=countprime(a,b);
cout<<t<<endl;
}
return 0;
}