#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
#include<algorithm>
#include<utility>
using namespace std;
#define all(a) a.begin(),a.end()
int main()
{
	const int M=1000000;
	vector<int> pri;
	bool flag[M]={};
	for(int i=2;i<M;i++)
	{
		if(flag[i]==false)
		{
			pri.push_back(i);
			for(int j=i;j<M;j+=i)
			{
				flag[j]=true;
			}
		}
	}
	int n;
	while(cin>>n&&n)
	{
		int x=0;
		for(int i=0;i<n;i++)
		{
			int p,m;cin>>p>>m;
			auto l=lower_bound(all(pri),p-m);
			auto r=upper_bound(all(pri),p+m)-1;
			x+=(r-pri.begin())-(l-pri.begin());
		}
		cout<<x<<endl;
	}
}