#ZF1038. 瓜瓜的中国剩余定理

瓜瓜的中国剩余定理

题目描述

瓜瓜前几天新学了中国剩余定理(Chinese Remainder Theorem),他逢人便说他悟了,CRT 多么多么简单之类的。

有人嫌他聒噪,便给他出了一道题:求关于 xx 的方程组

$$\begin{cases} a_1 \bmod x &= m_1 \\ a_2 \bmod x &= m_2 \\ &\vdots \\ a_n \bmod x &= m_n \end{cases} $$

的所有正整数解。其中 amodxa \bmod x 表示 aa 除以 xx 的余数。

输入描述

第一行有一个整数 nn,其中 1n1051 \leqslant n \leqslant 10^5

接下来 nn 行,每行有两个整数 ai,mia_i, m_i,其中 0mi<ai10100 \leqslant m_i < a_i \leqslant 10^{10}

提示:int\texttt{int} 类型最大值是 2311<10102^{31} - 1 < 10^{10},更大的范围可以使用 long long\texttt{long long}

输出描述

第一行有一个数字,表示你解出所有合法解的个数 kk

接下来 kk 行,每行一个整数 xix_i,表示你的解。所有的解需要从小到大输出。

样例

3
3 1
5 1
7 1
1
2
3
3 1
5 2
7 3
0