Піраміди#2290

Піраміди

5 секунд
256 мегабайтів
Легка

Легко побудувати піраміду, якщо у вас є багато однакових кубиків. На плоскій основі розміщаємо, наприклад, 10 \times 10 кубиків квадратом. На цей квадрат по центру кладемо квадрат з 9 \times 9 кубиків. Продовжуючи так, завершуємо одним кубиком — вершиною піраміди. Висота такої піраміди дорівнює довжині основи, тобто . Таку піраміду назвемо високою.

Якщо висока піраміда здається надто крутою, можна зробити інакше: на основу 10 \times 10 кладемо 8 \times 8, потім 6 \times 6 і далі, завершуючи 2 \times 2 квадратом (якщо основа непарна — вершина складатиметься з одного кубика). Висота такої піраміди приблизно дорівнює половині основи. Такі піраміди назвемо низькими.

Колись давно фараон успадкував від батька багато кам'яних кубів. Він наказав архітектору використати всі куби для зведення піраміди. Архітектор пояснив, що не з будь-якої кількості кубиків це можливо. З кубів можна побудувати низьку піраміду з основою . З кубів — високу піраміду з основою . А з кубиків жодної піраміди не вийде.

Фараон не був задоволений, але після роздумів запропонував нові обмеження.

  1. Використати всі куби.

  2. Можна звести декілька пірамід, але їх кількість має бути найменшою.

  3. Усі піраміди повинні бути різними.

  4. Висота кожної піраміди не менше .

  5. Найбільша з можливих пірамід має бути максимально великою (тобто містити найбільше кубиків).

  6. Наступна має бути також максимально великою.

  7. І так далі...

Малюючи фігури на піску, архітектор невдовзі знайшов найкраще рішення.

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

Вхідні дані

Вхід складається з кількох тестових випадків у окремих рядках. Кожен тест містить (1 \leq c \leq 10^6) — кількість кубиків.

Останній рядок містить нуль і не розглядається.

Вихідні дані

Для кожного тесту виведіть його номер і список побудованих пірамід. Піраміди слід впорядкувати від найбільшої. Кожна задається розміром основи та буквою (низька) чи (висока). Якщо дві різні піраміди мають однакову кількість кубиків — спершу виводиться висока. Якщо не можна виконати всі умови фараона, виведіть impossible.

Дотримуйтесь формату прикладу виводу.

Приклади

Приклад 1

Loading
Loading