Повертаючись додому після тріумфальної перемоги, ви виявляєте, що ваш довгоочікуваний трофей розбився на частини у багажнику. Тепер залишається тільки відновити його.
Ваш трофей мав форму прямокутника розміром 3 \times n, де n \ge 1 — деяке ціле число, складався з рядків і стовпців, разом містив одиничних клітинок. Трофей розколовся на частин, -та частина є прямокутником розміром a_k \times b_k для деяких цілих a_k і b_k таких, що 1 \le a_k \le b_k \le 3. Ці частини могли бути повернуті або навіть перевернуті у хаосі у вашому багажнику.
На першому етапі відновлення трофея вам потрібно зібрати його у формі прямокутника розміром 3 \times n. Точніше, ви намалювали на аркуші паперу прямокутник 3 \times n, у який будете розміщувати частин, і вам потрібно для всіх цілих i \le 3 і j \le n визначити, яка частина покриватиме одиничну клітинку у -му рядку та -му стовпці вашого прямокутника.
Вхідні дані містять три рядки. Перший рядок містить числа та . Другий рядок містить числа a_1, a_2, \dots, a_k. Третій рядок містить числа b_1, b_2, \dots, b_k.
Виведіть три рядки, кожен з яких містить цілих чисел. Якщо ви плануєте покрити одиничну клітинку в -му рядку та -му стовпці частиною з номером , тоді -те число у -му рядку виводу має дорівнювати .
Якщо існує декілька способів зібрати частини у формі прямокутника розміром 3 \times n, будь-який з них є коректним.
Приклад 1. Це рішення представляє наступну збірку:
Приклад 2. Це рішення представляє наступну збірку:
Обидва способи допустимі, навіть якщо вхідні дані у прикладах та однакові.
Приклад 1
Приклад 2