Задача Ейлера#6481

Задача Ейлера

2 секунди
128 мегабайтів
Складна

У цій задачі ми згадаємо великого математика Леонарда Ейлера (–) і дослідимо його добре відому функцію .

Значення для натурального числа визначається як кількість цілих чисел k~(1 \le k \le n), взаємно простих з . Два натуральні числа називаються взаємно простими, якщо їх найбільший спільний дільник дорівнює . Наприклад, \phi(6) = 2, оскільки тільки числа і взаємно прості з , тоді як , , і — ні.

Задача Ейлера формулюється наступним чином: за даним натуральним числом знайдіть усі такі натуральні числа , для яких виконується рівність \phi(x) = n.

Вхідні дані

Перший рядок містить кількість тестів t~(1 \le t \le 5). Далі йдуть рядків, кожен з яких містить одне натуральне число n~(1 \le n \le 10^{10}).

Вихідні дані

Ваша програма має вивести відповіді на задані тести. Для кожного тесту виведіть два рядки. Перший рядок повинен містити кількість розв'язків рівняння. Другий рядок — усі знайдені розв'язки, перераховані в порядку зростання. Якщо рівняння не має розв'язків, другий рядок повинен бути порожнім.

Приклади

Приклад 1

Loading
Loading