分糖果
题号:NC236190
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

现在有若干颗糖果,已知这些糖果如果平均分给 p_i 个小朋友,每个小朋友得到的糖果数量一样,最后还会剩下 r_i 颗。请问原来一共有多少颗糖果。

输入描述:

第一行输入一个整数  ,表示描述的个数。

接下来n行,每行输入两个整数  ,表示如果将这些糖果分给 p_i 个小朋友,最后剩下 r_i 颗。

输出描述:

输出一个整数,表示原来的糖果个数。如果原来的糖果数量有多种可能,则输出一种最小的糖果数量。如果无解,输出-1。保证解一定在 范围内。
示例1

输入

复制
2
8 7
11 9

输出

复制
31
示例2

输入

复制
2
8 3
14 4

输出

复制
-1