У цій задачі під перестановкою з елементів розуміється послідовність цілих чисел довжини , у якій кожне число від до n-1 трапляється рівно один раз. Нехай -й елемент перестановки позначається як p_i, де — індекс від до n-1. Добуток двох перестановок та з елементів — це ще одна перестановка з елементів така, що c_i = a_{b_i}. Зверніть увагу, що множення перестановок є лівоасоціативним, тобто операції виконуються зліва направо.
Серед перестановок нас цікавлять подвійні перестановки. Подвійну перестановку можна представити як об'єднання двох неперетинних зростаючих послідовностей. Наприклад, перестановка (1, 3, 4, 0, 5, 2) є подвійною, бо її можна розбити на дві зростаючі послідовності: (1, 3, 4, 5) та . Натомість перестановка (5, 1, 3, 4, 0, 2) не є подвійною перестановкою.
Ваше завдання — написати програму, яка розкладає задану перестановку у добуток подвійних перестановок. Кількість подвійних перестановок у добутку має бути якомога меншою. Ваша програма має знайти розв'язок, що складається не більше ніж з подвійних перестановок.
Перший рядок містить число (2 \leq n \leq 20000).
Другий рядок містить чисел, які визначають початкову перестановку.
Якщо розв'язок не можна знайти за наведеними обмеженнями, виведіть одне число .
Якщо розв'язок існує, виведіть число — кількість подвійних перестановок у знайденому розкладі, у першому рядку, а в наступних рядках виведіть самі подвійні перестановки у тому порядку, у якому вони зустрічаються у добутку.
Приклад 1