Страусина ферма
Як ви пам'ятаєте, Джонні працює в урядових службах однієї невідомої країни. У вільний від державних завдань час він розводить страусів на своїй маленькій фермі.
На фермі є n×m птахів. Джонні спорудив кожному страусу по загону, встановивши перегородки так, щоб вони утворювали прямокутник з n рядків і m стовпців. Таким чином утворюється рівно n×m квадратних загонів 1×1. Зверніть увагу: між сусідніми загонами він ставив рівно одну перегородку, а не дві.
В один прекрасний осінній день заслужений страус Чак, який знаходився в нижньому лівому загоні, відчув гостру необхідність вирушити по важливих і невідкладних страусиних справах. Він почав пробивати собі шлях на волю, ламаючи перегородки. Спочатку він зламав праву перегородку і перемістився загоном правіше. Потім він зламав верхню перегородку і перемістився вгору. Далі він прокладав собі шлях за таким же принципом: ламаючи почергово то праву, то верхню перегородку, поки, нарешті, не опинився на волі.
Джонні, побачивши розгром, вчинений Чаком, сильно засмутився. Але робити нічого — треба приводити все до ладу. Він відправив листа на найближчу лісопилку, вказавши, скільки у нього залишилося перегородок, але забувши при цьому вказати, скільки йому потрібно.
Допоможіть працівникам лісопилки: знаючи, скільки у Джонні залишилося перегородок, визначте, яких розмірів могла бути ферма.
Вхідні дані
Кількість перегородок x (1 ≤ x ≤ 10^9), що залишилися у Джонні.
Вихідні дані
У першому рядку число можливих варіантів c розмірів ферми Джонні. У наступних c рядках виведіть можливі варіанти розмірів ферми. У кожному рядку слід вивести через пробіл два цілих числа — можливі значення n і m.
Зверніть увагу: Джонні міг помилитися при підрахунку залишених перегородок, тому можливо, що не існує варіантів, які підходять під умову. У такому випадку потрібно вивести єдине число 0.