import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
int arr[] = new int[1000005];
// System.out.print(arr[0]);
primeSieve(arr);
while(n>0){
int count = 0;
int a = cin.nextInt(), b = cin.nextInt();
for(int i = a;i<=b;i++){
if(arr[i] == 1){
count++;
}
}
System.out.println(count);
n–;
}
}
public static void primeSieve(int []p){
for(int i = 3;i<p.length-4;i+=2){
p[i] = 1;
}
for(int i = 0;i<p.length-4;i+=2){
if(p[i] == 1){
for(int j = i*i; j<=1000000;j=j+i){
p[j] = 0;
}
}
}
p[2] = 1;
p[1] = p[0] = 0;
}
}======what’s the error in code output is always one more than expected