Задача №112766. Угадайка

Вася прошел на уроке математики в школе операцию деления с остатком. Чтобы закрепить пройденный материал, он решил потренироваться в выполнении этого действия. Придя домой, Вася попросил маму назвать \(N\) произвольных натуральных чисел \(X_i\) (\(1 \le i \le N\)), не превосходящих \(10^9\). Затем он придумал некоторое натуральное число \(M\), не превосходящее наибольшего из \(X_i\), и вычислил остатки \(Y_i\) от деления всех чисел на него.

Вечером к Васе зашел его друг Леша и увидел результаты вычислений. Подумав несколько минут, он радостно сообщил товарищу, что придумал еще одно значение \(M\), удовлетворяющее всем соотношениям. Вася был шокирован. Он не мог поверить, что это возможно, и обратился к Вам с просьбой о помощи.

Помогите Васе найти все возможные значения \(M\), удовлетворяющие всем соотношениям.

Несмотря на то, что и Вася, и его друг Леша — прилежные и умные ученики, они могли ошибиться в вычислениях, и ни одного подходящего \(M\) может не существовать.

Входные данные

В первой строке находится одно натуральное число \(N\) — количество чисел, с которыми Вася проводил операцию деления (\(1 \le N \le 1000\)).

Далее следуют \(N\) строк, в \(i\)-ой из которых находятся два целых числа \(X_i , Y_i\) , разделенные пробелом (\(1 \le X_i \le 10^9 , 0 \le Y_i \le X_i\)).

Выходные данные

В первой строке должно находиться целое число \(K\) — количество различных \(M\), удовлетворяющих всем соотношениям.

Во второй строке должны находиться \(K\) чисел, разделенные пробелами — все возможные значения \(M\). Числа можно выводить в произвольном порядке.

Примечание

В первом примере существует единственное число \(M = 5\). Остаток от деления \(9\) на \(5\) есть \(4\), а остаток от деления \(6\) на \(5\) есть \(1\).

Во втором примере в качестве \(M\) можно взять \(3\) и \(6\).

Решения, работающие при \(X_i \le 200 000\), будут набирать \(30\) баллов.

Примеры
Входные данные
2
9 4
6 1
Выходные данные
1
5 
Входные данные
3
14 2
7 1
12 0
Выходные данные
2
6 3 
Сдать: для сдачи задач необходимо войти в систему