eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Дивовижний трюк

Дивовижний трюк

Аліса - фокусниця, і вона створює новий трюк. У неї є $n$ карток з різними числами від $1$ до $n$, записаними на них. Спочатку вона просить одного з глядачів перетасувати колоду та виставити картки в ряд. Припустимо, що $i$-та карта зліва має число $a_i$ на ній. Потім Аліса обирає дві перестановки $p$ та $q$. Є обмеження на $p$ та $q$ --- перестановки не можуть мати фіксованих точок. Це означає, що $\forall i: p_i \ne i$ та $q_i \ne i$. Після вибору перестановок Аліса перетасовує картки відповідно до них. Тепер $i$-та карта зліва є карткою $a[p[q[i]]$. Трюк вважається успішним, якщо $i$-та карта зліва має число $i$ на ній після перетасовок. Допоможіть Алісі вибрати перестановки $p$ та $q$ або сказати, що це неможливо для конкретної початкової перестановки $a$. \InputFile Перший рядок містить кількість тестів $t~(1 \le t \le 10^5)$. Кожен тест описується двома рядками. Перший рядок містить одне ціле число $n~(1 \le n \le 10^5)$ --- кількість карток. Другий рядок містить $n$ цілих чисел $a_i~(1 \le a_i \le n, ∀ i \ne j: a_i \ne a_j)$ --- початкову перестановку карток. Гарантується, що сума $n$ по всім тестам не перевищує $10^5$. \OutputFile Виведіть відповідь для кожного тесту у тому ж порядку, в якому вони з'являються у вхідних даних. Для кожного тесту виведіть “\textbf{Impossible}” в одному рядку, якщо рішення не існує. В іншому випадку, виведіть "\textbf{Possible}" у першому рядку, а в наступних двох рядках виведіть перестановки $p$ та $q$.
Ліміт часу 2 секунди
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
4
2
2 1
3
1 2 3
4
2 1 4 3
5
5 1 4 2 3
Вихідні дані #1
Impossible
Possible
3 1 2
2 3 1
Possible
3 4 2 1
3 4 2 1
Possible
4 1 2 5 3
3 1 4 5 2
Джерело 2022 ICPC, NEERC, Полуфінал, Грудень 7, Задача A