Олимпиадный тренинг

Задача . D. Спанч Боб и Квадраты


Спанч Боб уже устал придумывать оправдания для своих странных действий и вычислений, поэтому просто попросил вас найти все такие пары n и m, что в табличке, состоящей из n рядов и m столбцов, существует ровно x различных квадратов. Например, в табличке 3 × 5 существует 15 квадратов со стороной один, 8 квадратов со стороной два и 3 квадрата со стороной три. Итого в табличке 3 × 5 существует 15 + 8 + 3 = 26 различных квадратов.

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

В первой строке входных данных записано единственное целое число x (1 ≤ x ≤ 1018) — требуемое количество квадратов внутри искомых табличек.

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

В первой строке выведите единственное число k — количество табличек, внутри которых существует ровно x квадратов.

Далее выведите k пар чисел, описывающих эти таблички. Пары выводите в порякде возрастания n, а при равенстве — в порядке возрастания m.

Примечание

В табличке 1 × 2 количество способов выбрать квадрат 1 × 1 равняется 2. Итого — 2 способа.

В табличке 2 × 3 количество способов выбрать квадрат 1 × 1 равняется 6, а квадрат 2 × 2 — 2 способа. Итого — 8 способов.


Примеры
Входные данныеВыходные данные
1 26
6
1 26
2 9
3 5
5 3
9 2
26 1
2 2
2
1 2
2 1
3 8
4
1 8
2 3
3 2
8 1

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя