Плитка
Художники по кераміці Марія та Жоао відкрили невеликий магазин азулежу в Порту. Азулежу — це красива керамічна плитка, якою славиться Португалія. Марія та Жоао хочуть створити привабливу вітрину, але через обмежений простір у магазині їм доводиться розміщувати зразки плитки у два ряди на одній полиці. Перед кожною плиткою Жоао розташована рівно одна плитка Марії, а за кожною плиткою Марії — рівно одна плитка Жоао. Ці плитки ручної роботи мають різноманітні розміри, і важливо, щоб кожна плитка в задньому ряду була вищою за плитку перед нею, щоб обидві були видимі перехожим. Для зручності покупців плитки в кожному ряду розташовані в порядку неспадання ціни зліва направо. Плитки з однаковою ціною можуть розташовуватися в будь-якому порядку за умови дотримання умов видимості, зазначених вище.
Ваше завдання — знайти порядок плиток у кожному ряду, що задовольняє ці обмеження, або визначити, що такого порядку не існує.
Вхідні дані
Перший рядок містить ціле число n (1 ≤ n ≤ 5 * 10^5
) — кількість плиток у кожному ряду. Наступні чотири рядки містять по n цілих чисел у кожній; перша пара рядків представляє задній ряд плиток, друга пара рядків представляє передній ряд. Плитки в кожному ряду пронумеровані від 1 до n відповідно до їхнього порядку у вхідних даних. Перший рядок у кожній парі містить n цілих чисел p[1]
, ..., p[n]
(1 ≤ p[i]
≤ 10^9
для кожного i), де p[i]
— ціна плитки номер i в цьому ряду. Другий рядок у кожній парі містить n цілих чисел h[1]
, ..., h[n]
(1 ≤ h[i]
≤ 10^9
для кожного i), де h[i]
— висота плитки з номером i в цьому ряду.
Вихідні дані
Якщо існує допустимий порядок, виведіть його у вигляді двох рядків з n цілих чисел, кожен з яких складається з перестановки номерів плиток від 1 до n. Перший рядок представляє порядок плиток у задньому ряду, а другий — порядок плиток у передньому ряду. Якщо більше однієї пари перестановок задовольняє обмеженням, виведіть будь-яку. Якщо потрібного порядку не існує, виведіть impossible.