피라미드

시간 제한5초메모리 제한512 MB

문제

크기가 같은 정육면체 돌을 충분히 많이 가지고 있으면 피라미드를 쌓을 수 있다. 피라미드에는 두 종류가 있다.

높은 피라미드. 맨 아래에 돌을 $10 \times 10$ 정사각형으로 놓고, 그 위에 $9 \times 9$, 다시 그 위에 $8 \times 8$ 을 놓는 식으로 한 층마다 한 변을 1씩 줄여 가며 맨 위에는 $1 \times 1$ 한 개를 놓는다. 밑변의 길이가 $n$인 높은 피라미드의 높이는 $n$이고, 사용하는 돌의 개수는 $1^2 + 2^2 + \cdots + n^2$이다.

낮은 피라미드. 맨 아래에 $n \times n$을 놓고, 그 위부터는 한 변을 2씩 줄여 $(n-2) \times (n-2)$, $(n-4) \times (n-4)$, … 를 쌓는다. 밑변의 길이가 짝수이면 맨 위는 $2 \times 2$, 홀수이면 맨 위는 $1 \times 1$이 된다. 밑변의 길이가 $n$인 낮은 피라미드의 높이는 $\lceil n/2 \rceil$이다.

아주 오래전, 엄청나게 많은 정육면체 돌을 물려받은 파라오가 있었다. 그는 이 돌을 모두 사용해 피라미드를 지으라고 명령했다. 설계자는 돌의 개수에 따라 지을 수 있는 피라미드가 달라진다고 설명했다. 예를 들어 돌이 10개이면 밑변이 3인 낮은 피라미드를, 5개이면 밑변이 2인 높은 피라미드를 지을 수 있지만, 7개이면 돌을 모두 써서 만들 수 있는 피라미드가 하나도 없다.

이 말을 들은 파라오는 크게 화를 냈고, 며칠을 고민한 끝에 다음 조건을 내걸었다.

  1. 모든 돌을 남김없이 사용해야 한다.
  2. 피라미드는 한 개 이상 지으며, 그 개수는 가능한 한 적어야 한다.
  3. 같은 모양(같은 종류이면서 밑변의 길이가 같은)의 피라미드는 최대 한 개만 지을 수 있다.
  4. 각 피라미드의 높이는 2 이상이어야 한다. 즉 높은 피라미드는 밑변이 2 이상, 낮은 피라미드는 밑변이 3 이상이어야 한다.
  5. 위 조건을 지키면서, 가장 많은 돌을 쓰는 피라미드를 최대한 크게 만든다.
  6. 그다음으로, 두 번째로 많은 돌을 쓰는 피라미드를 최대한 크게 만든다.
  7. 이후에도 같은 방식으로 세 번째, 네 번째 … 피라미드의 크기를 차례로 최대화한다.

돌의 개수가 주어졌을 때, 위 조건을 지켜 피라미드를 어떻게 지어야 하는지 구하여라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 한 줄이며, 돌의 개수 $c$ ($1 \le c \le 10^6$)가 주어진다. 마지막 줄에는 $0$이 하나 주어지며, 이 줄은 처리하지 않는다.

출력

각 테스트 케이스마다, 먼저 테스트 케이스 번호 $t$(1부터 시작)를 사용해 Case t: 를 출력한다. 이어서 지을 피라미드들을 돌을 많이 쓰는 것부터 차례대로, 공백으로 구분해 출력한다. 각 피라미드는 밑변의 길이를 적고 그 뒤에 낮은 피라미드이면 L, 높은 피라미드이면 H를 붙여 나타낸다 (예: 밑변이 3인 높은 피라미드는 3H). 사용하는 돌의 개수가 완전히 같은 두 피라미드가 있으면 높은 피라미드(H)를 먼저 출력한다. 파라오의 조건을 만족하도록 피라미드를 지을 수 없으면 impossible을 출력한다.