如果你有大量的相同立方体,建造金字塔并不困难。在平坦的地基上,你可以铺设例如 $10 \times 10$ 个立方体作为底层。在这一层的上方居中铺设一个 $9 \times 9$ 的立方体方阵。以此类推,最终你会得到一个单块立方体作为金字塔的顶端。这种金字塔的高度等于其底边的长度,在本例中为 $10$。我们称之为“高金字塔”(high pyramid)。
如果你认为高金字塔太陡峭,可以采用以下方式:在 $10 \times 10$ 的底座上,铺设 $8 \times 8$ 的方阵,接着是 $6 \times 6$,以此类推,最后以 $2 \times 2$ 的顶层结束(当然,如果你从奇数长度的底座开始,最终顶端会是一个单块立方体)。这种金字塔的高度大约是其底边长度的一半。我们称之为“低金字塔”(low pyramid)。
很久以前,有一位法老从他父亲那里继承了大量的石制立方体。他命令建筑师用掉所有的立方体来建造金字塔,不能剩下任何一个。建筑师委婉地解释说,并非任意数量的立方体都能构成一个金字塔。用 $10$ 个立方体可以建造一个底边为 $3$ 的低金字塔。用 $5$ 个立方体可以建造一个底边为 $2$ 的高金字塔。但是,用恰好 $7$ 个立方体无法建造任何金字塔。
法老对此并不满意,但在思考之后,他提出了新的限制条件:
- 必须用掉所有的立方体。
- 你可以建造不止一个金字塔,但必须使金字塔的数量尽可能少。
- 所有的金字塔必须各不相同。
- 每个金字塔的高度必须至少为 $2$。
- 在满足上述条件的前提下,最大的金字塔必须尽可能大(即包含最多的立方体)。
- 在满足上述条件的前提下,次大的金字塔必须尽可能大。
- 依此类推……
在沙地上画图计算了许久之后,建筑师终于找到了最佳方案。请编写一个程序,根据给定的立方体数量,确定如何满足法老的要求。
输入格式
输入包含多个测试用例,每个用例占一行。每个测试用例为一个整数 $c$($1 \le c \le 10^6$),表示可用的立方体数量。
最后一个测试用例后跟一行包含单个零。
输出格式
对于每个测试用例,输出其用例编号,随后列出要建造的金字塔。金字塔应按从大到小的顺序排列。金字塔的规格由其底边长度后跟一个字母表示:低金字塔用 L 表示,高金字塔用 H 表示。如果两个不同的金字塔包含的立方体数量相同,则先列出高金字塔。如果无法满足法老的要求,则输出 impossible。
请遵循样例输出的格式。
样例
样例输入 1
29 28 0
样例输出 1
Case 1: 3H 3L 2H Case 2: impossible