#include<iostream>
#include<algorithm>
using namespace std;


#define MAX_N 1000000
int prime[MAX_N];//i番目の素数
bool is_prime[MAX_N+1];
int sieve(int n){
	int p=0;
	memset(is_prime,true,sizeof(is_prime));
	is_prime[0]=is_prime[1]=false;
	for(int i=2;i<=n;i++){
		if(is_prime[i]){
			prime[p++]=i;
			for(int j=2*i;j<=n;j+=i)is_prime[j]=false;
		}
	}
	return p;
}


int main(){
	int num=sieve(MAX_N),n;
	while(cin>>n&&n){
		int ans=0,x;
		int p,m;
		for(int i=0;i<n;i++){
			cin>>p>>m;
			x=upper_bound(prime,prime+num,p+m)-lower_bound(prime,prime+num,p-m);
			if(x==0)ans--;
			else ans+=x-1;
		}
		cout<<ans<<endl;
	}
	return 0;
}