https://ac.nowcoder.com/acm/contest/275/A?&headNav=acm
ll pow_mod(ll a, ll b, ll p){// 快速幂 a的b次方求余p
ll ret = 1;
while(b){
if(b & 1) ret = (ret * a) % p;
a = (a * a) % p;
b >>= 1;
}
return ret;
}
#include<bits/stdc++.h>
using namespace std;
const int p = 1000000007;
typedef long long ll;
ll pow_mod(ll a, ll b, ll p){// 快速幂 a的b次方求余p
ll ret = 1;
while(b){
if(b & 1) ret = (ret * a) % p;
a = (a * a) % p;
b >>= 1;
}
return ret;
}
int main(){
int n;
cin >> n;
ll res = 1;
ll a,b;
for(int i=1;i<=n;i++){
cin >> a >>b;
ll r = (b-a+p)%p;
res = (res*r %p* pow_mod(b,p-2,p) )%p; //转化成 r* b 的p-2次方
//于是:a/b=a/b*(b * b ^ (M-2))=a*(b ^ (M-2)) (mod M)
}
cout << (1 - res +p )%p;
}