Розбитий трофей#11756

Розбитий трофей

1 секунда
128 мегабайтів
Складна

Повертаючись додому після тріумфальної перемоги, ви виявляєте, що ваш довгоочікуваний трофей розбився на частини у багажнику. Тепер залишається тільки відновити його.

Ваш трофей мав форму прямокутника розміром 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

Loading
Loading

Приклад 2

Loading
Loading