Дружественные числа

Дружественные числа

Даны два целых положительных числа M, N. Требуется найти все «дружественные» пары чисел на отрезке [M; N]. Дружественным для числа А является такое число В, что оно равно сумме делителей А, исключая само значение А. И наоборот, сумма делителей В, исключая В, равняется А. A не равно B.

Input

Со стандартного устройства ввода в первой строке через пробел вводятся два целых положительных числа M (2<=M<=105) и N (2<=M<=N<=105).

Output

Требуется вывести все пары «дружественных» чисел, расположенные на отрезке [M; N].

Пару «дружественных» чисел (E, F) нужно выводить раньше пары «дружественных» чисел (K, P), когда минимальный элемент пары «дружественных» чисел (E, F) меньше минимального элемента пары «дружественных» чисел (K, P).

Число E в паре «дружественных» чисел (E, F) нужно выводить раньше числа F из этой же пары, когда Е меньше F.

Числа в паре нужно разделять пробелом, ставить пробел после второго члена пары не нужно.

Sample Input 210 294

Sample Output 220 284

Примечание

Попробуйте реализовать функцию getSumOfDivisors(n), которая принимает число n, а возвращает сумму делителей числа n, кроме самого n.


Ответы (0 шт):