C++解方程怎么解?

描述
小明很喜欢方程,他想让你帮他解这个方程组(mi两两互质):


⎪x≡a1(modm1)
⎨x≡a2(modm2)
⎪x≡an(modmn)

输入
第一行一个整数n。

接下来n行,第i行两个整数分别表示mi,ai。
输出
输出一行一个整数x,表示最小的非负整数解。
样例输入
2
3 2
2 1
样例输出
5
提示
所有数据满足:1≤n≤10,0≤ai<mi≤103。保证答案小于1018。
来源