Натуральное число $$$p$$$ называется простым, если оно имеет ровно два различных делителя: $$$1$$$ и $$$p$$$. Например, числа $$$2$$$, $$$3$$$, $$$5$$$ являются простыми. Число $$$1$$$ простым не считается.
Целое число $$$p$$$ будем называть квазипростым, если $$$p$$$ или $$$-p$$$ является простым. Например, числа $$$-2$$$, $$$2$$$, $$$-3$$$, $$$3$$$, $$$-5$$$, $$$5$$$ являются квазипростыми.
Хотя любое натуральное число можно единственным образом представить в виде произведения простых, для целых чисел и квазипростых это уже неверно. Например, число $$$12$$$ можно тремя способами представить в виде произведения квазипростых: $$$12=2\cdot 2\cdot 3$$$, $$$12=(-2)\cdot 2\cdot (-3)$$$, $$$12=(-2)\cdot (-2)\cdot 3$$$.
Задано целое число $$$n$$$. Выведите все способы представить $$$n$$$ в виде произведения квазипростых. Произведения, которые отличаются только порядком множителей, считаются одним способом.
На первой строке ввода находится число $$$n$$$ ($$$-10^9 \le n \le 10^9$$$, $$$n \ne 0$$$, $$$n \ne \pm 1$$$).
На первой строке выведите $$$k$$$ — количество способов представить $$$n$$$ в виде произведения квазипростых. В следующих $$$k$$$ строках выведите все способы представить $$$n$$$ в виде произведения квазипростых. Произведения можно выводить в любом порядке, множители в каждом произведении можно выводить в любом порядке.
В этой задаче помимо примера 50 тестов, каждый тест оценивается в 2 балла.
12
2 2 3 -2 2 -3 -2 -2 3