#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; vector > memo(10001, vector(10001, -1)); int gcd(int a, int b){ if(b == 0) return a; if(memo[a][b] != -1) return memo[a][b]; return memo[a][b] = gcd(b, a % b); } int lcm(int a, int b){ return a / gcd(a, b) * b; } int main() { int n; cin >> n; vector > a(n); for(int i=0; i> a[i].second; for(int i=0; i