#include<bits/stdc++.h>
using namespace std;
struct{
int x , y;
}a[15];
int n;
long long gcd(long long a , long long b){
if(a % b == 0) return b;
return gcd(b , a% b);
}
long long lcm(long long a , long long b){
return a / gcd(a , b) * b;
}
int main(){
cin >> n;
for(int i = 1 ; i <= n ; i++){
cin >> a[i].x >> a[i].y;
}
long long js = a[1].x;
long long cnt = a[1].y;
for(int i = 2 ; i <= n ; i++){
while(cnt % a[i].x != a[i].y){
cnt += js;
}
js = lcm(js , a[i].x);
}
cout << cnt;
}
TLE了4个,RE了1个,有没有优化方法?