void sieveofe(int p[],int n){
int i,j;
p[0] = 0;
p[1] = 0;
p[2] = 1;
for(i = 3;i <= n;i++){
p[i++] = 1;
p[i] = 0;
}
int max = sqrt(n);
for(i = 3; i <= max;i++)
if(p[i]){
for(j = i+i;j < n;j += i)
p[j] = 0;
}
}
int isprime(int n){
if(n == 3 || n == 2)
return 1;
int temp,i;
temp = n % 6;
if(temp != 1 && temp != 5)
return 0;
temp = sqrt(n);
for(i = 3;i <= temp;i += 2)
if(n % i == 0)
return 0;
return 1;
}
int isprime(int n)
{
if(n == 2)
return 1;
if((n & 1) == 0)
return 0;
int end = sqrt(n), i;
for(i=3; i<=end; i+=2) {
if(n % i == 0)
break;
}
return i > end ? 1 : 0;