Задача №111549. Страусиная ферма

Как вы помните, Джонни работает в правительственных службах одной неизвестной страны. В свободное от государственных заданий время он разводит страусов на своей маленькой ферме.

На ферме есть N × M птиц. Джонни соорудил каждому страусу по загону, установив перегородки так, чтобы они образовывали прямоугольник из N строк и M столбцов. Тем самым образуется ровно N × M квадратных загонов 1 × 1. Обратите внимание: между соседними загонами он ставил ровно одну перегородку, а не две.

В один прекрасный осенний день заслуженный страус Чак, находившийся в нижнем левом загоне, почувствовал острую необходимость отправиться по важным и неотложным страусиным делам. Он начал пробивать себе путь на волю, ломая перегородки. Сначала он сломал правую перегородку и переместился загоном правее. Потом он сломал верхнюю перегородку и переместился вверх. Далее он прокладывал себе путь по такому же принципу: ломая попеременно то правую, то верхнюю перегородку, пока, наконец, не оказался на свободе.

Джонни, увидев разгром, учиненный Чаком, сильно расстроился. Но делать нечего — надо приводить все в порядок. Он отправил письмо на ближайшую лесопилку, указав, сколько у него осталось перегородок, но забыв при этом указать, сколько ему требуется.

Помогите работникам лесопилки: зная, сколько у Джонни осталось перегородок, определите, каких размеров могла быть ферма.

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

В единственной строке входного файла задано целое число X — количество перегородок, оставшихся у Джонни (1 ≤ X ≤ 109).

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

В первой строке выходного файла выведите C — число возможных вариантов размеров фермы Джонни.

В последующих C строках выведите возможные варианты размеров фермы. В каждой строке выведите через пробел два целых числа — возможное значение N и M.

Обратите внимание, Джонни мог ошибиться при подсчете оставшихся перегородок, поэтому возможно, что не существует вариантов, подходящих под условие. В таком случае требуется вывести единственное число 0.

Примечание

Тесты к этой задаче состоят из четырех групп.

  • Тест 1. Тест из условия, оценивается в ноль баллов.
  • Тесты 2-–15. В тестах этой группы X ≤ 15. Решение оценивается в 30 баллов.
  • Тесты 16-–35. В тестах этой группы X ≤ 1 000. Решение оценивается в 30 баллов.
  • Тесты 36-–55. В тестах этой группы дополнительные ограничения отсутствуют. Решение оценивается в 40 баллов.

Баллы за каждую группу тестов ставятся только при прохождении всех тестов группы.

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