#include <stdio.h>
#define MAX 1000010
int main () {
int f[MAX]={0};
int count = 1;
for(int i = 2 ; i < MAX; i++){
if(f[i]==0){
count++;
f[i]=count;
// i的倍数必然不会为质数,不用计算
for(int j=2*i; j<MAX; j+=i){
f[j]= -1;
}
}
else{
f[i]=count;
}
}
int m,n;
while(scanf("%d%d",&m,&n)!=EOF){
count = f[n] - f[m-1];
printf("%d\n", count);
count = 0;
}
return 0;
}