Відносний порядок
Обмеження: 2 сек., 256 МіБ
У Зеника є два масиви цілих чисел aiai та bibi. Усі 2n2n значень масивів різні.
Зеник хоче утворити один масив-перестановку з nn елементів. Для цього він спочатку
обирає рядок з nn символів, де кожен
символ або 1
або 2
. Тоді він створює проміжний
масив з nn елементів, в якому на
ii-ій позиції розташоване aiai, якщо ii-ий символ рядка рівний 1
та bibi, якщо 2
. Далі
він записує масив, в якому на першому місці знаходиться індекс мінімуму
в проміжному масиві, на другому — індекс 2-го найменшого значення, на
ii-ому місці індекс ii-го найменшого значення.
Наприклад, нехай масив aa рівний
[3, 1, 7, 4], масив bb рівний [47,
2, 10, 8], рядок рівний 2122
. Тоді проміжний масив рівний
[47, 1, 10, 8]. Мінімальне значення в цьому масиві знаходиться на
позиції 2, 2-ге найменше значення на позиції 4, 3-тє на позиції 3, 4-те
на позиції 1. Тому результат рівний [2, 4, 3, 1].
Марічці цікаво, чи існують 2 різні рядки з символів 1
та
2
, що перестановки отримані таким чином однакові.
Вхідні дані
В першому рядку задано єдине ціле число nn.
В другому рядку задано nn цілих чисел aiai.
В третьому рядку задано nn цілих чисел bibi.
Вихідні дані
В першому рядку виведіть TAK
, якщо існують 2 різні
рядки, що утворюють однакову перестановку, і NI
, якщо таких
рядків не існує.
Якщо рядки існують, в наступних двох рядках виведіть їх. Кожен рядок
повинен бути довжини nn з символів
1
та 2
, а також рядки повинні бути
різними.
Якщо існує багато різних пар рядків, виведіть будь-яку пару.
Обмеження
1≤n≤2⋅1051≤n≤2⋅105,
0≤ai,bi≤1090≤ai,bi≤109,
Усі значення aiai та bibi різні.
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
4 3 1 7 4 47 2 10 8 | TAK 2122 2211 |