Хтось поспішно кладе різдвяні подарунки, і це зовсім безлад:
========================
| |
========================
=============
| |
| |
| |
| |
| |
| |
=============
=======
| |
| |
| |
=======
===================
| |
| |
| |
===================
=================
| |
| |
| |
| |
=================
=======
| |
| |
=======
Як, серйозно, як у верхній частині рівномірний баланс. Це, мабуть, молоток. Щоб запобігти руйнуванню цієї вежі подарунків, ви повинні переупорядкувати подарунки, щоб вони добре укладалися:
=======
| |
| |
=======
=======
| |
| |
| |
=======
=============
| |
| |
| |
| |
| |
| |
=============
=================
| |
| |
| |
| |
=================
===================
| |
| |
| |
===================
========================
| |
========================
Правила
- Кожен подарунок складається з верхнього і нижнього
=
символів та одного або декількох середніх рядків, що складаються з двох|
розділених пробілами. Ширина презенту однакова у всіх її рядах. - Немає порожніх рядків.
- Послідовні подарунки перекриватимуться принаймні в одному стовпчику.
- Подарунки потрібно укладати в порядку зменшення ширини. У разі прив’язки до вищого рівня подарунок повинен бути нижчим за рівний подарунок.
- Подарунки повинні бути зосереджені на подарунку внизу. Якщо подарунок не може бути розміщений точно в центрі (оскільки різниця в ширинах непарна), ви можете вибрати будь-яку позицію, що знаходиться на пів символу від центру.
- Ви можете або не можете вважати, що вхід має один зворотний новий рядок, але, будь ласка, висловіть своє припущення.
- У вашому рішенні не потрібно працювати порожнім входом, але він повинен вміти обробляти один подарунок.
- Ви можете написати програму або функцію, яка приймає вхід через STDIN або аргумент функції і повертає результат або друкує його в STDOUT.
- Це кодовий гольф, тому найкоротша відповідь (у байтах) виграє.