Відносний порядок
Limits: 2 sec., 256 MiB
У Зеника є два масиви цілих чисел ai та bi. Усі 2n значень масивів різні.
Зеник хоче утворити один масив-перестановку з n елементів. Для цього він спочатку
обирає рядок з n символів, де кожен
символ або 1
або 2
. Тоді він створює проміжний
масив з n елементів, в якому на
i-ій позиції розташоване ai, якщо i-ий символ рядка рівний 1
та bi, якщо 2
. Далі
він записує масив, в якому на першому місці знаходиться індекс мінімуму
в проміжному масиві, на другому — індекс 2-го найменшого значення, на
i-ому місці індекс i-го найменшого значення.
Наприклад, нехай масив a рівний
[3, 1, 7, 4], масив b рівний [47,
2, 10, 8], рядок рівний 2122
. Тоді проміжний масив рівний
[47, 1, 10, 8]. Мінімальне значення в цьому масиві знаходиться на
позиції 2, 2-ге найменше значення на позиції 4, 3-тє на позиції 3, 4-те
на позиції 1. Тому результат рівний [2, 4, 3, 1].
Марічці цікаво, чи існують 2 різні рядки з символів 1
та
2
, що перестановки отримані таким чином однакові.
Input
В першому рядку задано єдине ціле число n.
В другому рядку задано n цілих чисел ai.
В третьому рядку задано n цілих чисел bi.
Output
В першому рядку виведіть TAK
, якщо існують 2 різні
рядки, що утворюють однакову перестановку, і NI
, якщо таких
рядків не існує.
Якщо рядки існують, в наступних двох рядках виведіть їх. Кожен рядок
повинен бути довжини n з символів
1
та 2
, а також рядки повинні бути
різними.
Якщо існує багато різних пар рядків, виведіть будь-яку пару.
Constraints
1≤n≤2⋅105,
0≤ai,bi≤109,
Усі значення ai та bi різні.
Samples
Input (stdin) | Output (stdout) |
---|---|
4 3 1 7 4 47 2 10 8 | TAK 2122 2211 |