#define _CRT_SECURE_NO_WARNINGS #define _SILENCE_CXX17_C_HEADER_DEPRECATION_WARNING #include using namespace std; typedef long long ll; void exgcd(ll a, ll b, ll &d, ll &x, ll &y) { b == 0 ? (x = 1, y = 0, d = a) : (exgcd(b, a % b, d, y, x), y -= x * (a / b)); } int main() { for (int n; ~scanf("%d", &n);) { ll a1, r1, a2, r2; scanf("%lld%lld", &a1, &r1); bool flag = true; for (int i = 1; i < n; i++) { ll d, x, y; scanf("%lld%lld", &a2, &r2); ll ans = 0; exgcd(a1, a2, d, x, y); if ((r2 - r1) % d) flag = false; else { x *= ((r2 - r1) / d); ll n1 = a2 / d; x = (x % n1 + n1) % n1; r1 = a1 * x + r1; a1 = (a1 * a2) / d; } } if (!flag) r1 = -1; printf("%lld\n", r1); } return 0; }