//The North remembers
//Denysiuk Illia will win EJOI 2026
//Denysiuk Illia will win UJGOI 2026
//Антон Перебейнис ничего не ботал
#include <algorithm>
#include <algorithm>
#include <iostream>
#include <queue>
#include <unordered_map>
#include <vector>
#include <set>
#include <map>
using namespace std;
const long long INF=1e18+10;
const int mod=1e9+7;
const long long maxlog=22;
const int maxc=11;
using victor = vector<int>;
using victorl = vector<long long>;
using dih = deque<int>;
using pii = pair<int,long long>;
using pll=pair<long long,int>;
const int NIGGA=2*1e5+10;
using ver = pair<long long,pair<int,int>>;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int n;
cin>>n;
victorl dp(n+10,0);
victor d(n),x(n);
for(int i=0;i<n;i++)cin>>d[i]>>x[i];
for(int i=n-1;i>=0;i--){
dp[i]=1;
if(d[i])for(int t=1;t<=min(x[i],(n-i-1)/d[i]);t++)dp[i]=(dp[i]+dp[i+t*d[i]])%mod;
}
cout<<dp[0];
return 0;
}