Prime visits problem

Please check my code

#include
using namespace std;
#define ll long long

void PrimeSieve(int *a){
for (int i=3;i<=1000000;i+=2){
a[i]=1;
}

for (ll int i=3;i<=1000000;i+=2){
    if (a[i]==1){
    	for(ll int j=i*i;j<=1000000;j=j+i){
    		a[j]=0;
    	}
    }
}
a[2]=1;
a[1]=a[0]=0; 

}

int main(){
int a[1000005]={0};
PrimeSieve(a);

int csum[1000005]={0};
for(int i=1;i<=1000000;i++){
   	csum[i]=csum[i-1]+a[i];
}
int t;
cin>>t;

for(int i=0;i<t;i++){
	int p;
	int q;

	cin>>p>>q;
	
    cout<<csum[q]-csum[p];
}
return 0;

}

Please see, I have corrected your code https://ide.codingblocks.com/s/321363