D. Спанч Боб и Квадраты
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Спанч Боб уже устал придумывать оправдания для своих странных действий и вычислений, поэтому просто попросил вас найти все такие пары 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.

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

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

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