Costin 是 Costinland 的独裁者,这个国家位于太平洋中部的一个小岛上。有一天,Costin 开始感到沮丧,因为他的岛屿太小了。为了消除自己的沮丧,他决定征服其他国家,这样 Costinland 的领土和作为独裁者的影响力就会变得更大!为了做到这一点,他需要一支军队!但 Costinland 没有公民符合独裁者的要求……那么,还有什么军队比一支由 Costin 组成的军队更好呢?因此,作为 Costinland 最聪明的人,他在一个周六的晚上发明了克隆技术。作为一个非常爱玩的人(Costinland 最爱玩的人),他想在创造克隆体的同时与它们一起玩。
为此,Costin 选择了一块由 $N \times M$ 个单元格组成的土地。单元格有 4 种类型: “X”(如果 Costin 踏上此单元格,他会克隆自己;其中一个 Costin 向右走,另一个向下走), “r”(如果 Costin 踏上此单元格,他将向右走,无论其初始方向如何), “d”(如果 Costin 踏上此单元格,他将向下走,无论其初始方向如何), “.”(如果 Costin 踏上此单元格,他将不会改变其初始方向,并移动到其方向指示的下一个单元格)。
Costin 从 $(1,1)$ 出发,想要与所有创造出的克隆体一起到达 $(N,M)$。Costin 也非常懒惰(Costinland 最懒的人),所以他“客气地”请求你帮助他构建这样一个矩阵,使得恰好有 $K$ 个克隆体到达 $(N,M)$。克隆体在途中不能“丢失”(请仔细阅读约束条件)。
任务
给定 $K$,帮助 Costin 生成这样一个(小型)矩阵,使得恰好有 $K$ 个 Costin 到达 $(N,M)$。
输入格式
第一行包含一个整数:$K$。
输出格式
第一行包含两个整数:$N, M$(矩阵的大小)。接下来的 $N$ 行包含 $M$ 个字符,描述该矩阵。
数据范围
- 位于 $(1,1)$ 的字符必须与“.”不同,以便为第一个 Costin 提供方向。(它可以是“X”、“d”或“r”)
- 在到达 $(N,M)$ 之前,没有任何 Costin 会停止。
- 为了不浪费 Costin 或在路径中丢失他们,矩阵的最后一行将仅由“r”组成,最后一列将仅由“d”组成。例外情况是,位于 $(N,M)$ 的字符将是“.”(因为 Costin 到达目的地后无需再提供方向)。
- 为了获得 100 分,你需要生成一个矩阵,对于第一个子任务,其两边长度均小于或等于 5;对于第二个子任务,其两边长度均小于或等于 49(详见“评分”部分)。
| 子任务 | 分数 | 限制 |
|---|---|---|
| 1 | 20 分 | $3 \le K \le 19$ |
| 2 | 80 分 | $19 < K \le 10^{18}$ |
评分
设 $C \times D$ 为选手的矩阵大小。
子任务 1: 如果 $\max\{C,D\} \le 5$,你将获得该测试点 100% 的分数。 如果 $\max\{C,D\} = 6$,你将获得该测试点 60% 的分数。 如果 $6 < \max\{C,D\} \le 500$,你将获得 $60 \times \frac{500-\max\{C,D\}}{500-6} \%$ 的分数。 如果 $\max\{C,D\} > 500$,你将获得该测试点 0% 的分数。
子任务 2: 如果 $\max\{C,D\} \le 49$,你将获得该测试点 100% 的分数。 如果 $49 < \max\{C,D\} < 62$,你将获得 $60+40 \times \frac{1.2^{62-\max\{C,D\}}}{1.2^{62-49}} \%$ 的分数。 如果 $\max\{C,D\} = 62$,你将获得该测试点 60% 的分数。 如果 $62 < \max\{C,D\} \le 500$,你将获得 $60 \times \frac{500-\max\{C,D\}}{500-62} \%$ 的分数。 * 如果 $\max\{C,D\} > 500$,你将获得该测试点 0% 的分数。
实现细节
- “The output does not fit the requirements”:如果你的矩阵不符合约束条件或输出格式,你将收到此消息。
- “Matrix size too big”:如果 $\max\{C,D\} > 500$,你将收到此消息。
- “The matrix does not generate the required number of Costins”:如果最终到达 $(N,M)$ 的 Costin 数量不恰好为 $K$,你将收到此消息。
- 如果你没有收到上述任何消息,你将根据上述公式获得分数,并收到一条说明该测试点生成矩阵大小的消息。
样例
输入 1
11
输出 1
4 4 XXXd .XXd .XXd rrr.