一个程序员秘密团队正计划颠覆编程语言格局,通过引入一种名为 Punched Card Python 的新语言,让人们能够使用穿孔卡片编写 Python 代码!作为优秀的颠覆者,他们打算在甚至还没有原型设计之前,就发起一场病毒式营销活动来推广他们的新语言。为了这次活动,他们想要用 ASCII 艺术绘制不同尺寸的穿孔卡片。
他们想要绘制的穿孔卡片的 ASCII 艺术类似于一个 $R \times C$ 的矩阵,但去掉了左上角的单元格。这意味着它总共有 $(R \cdot C) - 1$ 个单元格。每个单元格在 ASCII 艺术中被绘制为一个句点 (.),上方和下方由短横线 (-) 包围,左侧和右侧由竖线 (|) 包围,每个角由加号 (+) 组成。相邻的单元格共享边界上的公共字符。句点 (.) 用于对齐顶行的单元格。
例如,以下是一个 $R = 3$ 行、$C = 4$ 列的穿孔卡片:
..+-+-+-+ ..|.|.|.| +-+-+-+-+ |.|.|.|.| +-+-+-+-+ |.|.|.|.| +-+-+-+-+
下方的样例中还有其他尺寸的示例。给定描述穿孔卡片尺寸的整数 $R$ 和 $C$,请按上述描述打印其 ASCII 艺术图。
输入格式
输入的第一行给出测试用例的数量 $T$。接下来有 $T$ 行,每行描述一个不同的测试用例,包含两个整数 $R$ 和 $C$:表示必须绘制的穿孔卡片的行数和列数。
输出格式
对于每个测试用例,输出一行 Case #x:,其中 $x$ 是测试用例编号(从 1 开始)。然后,输出 $(2 \cdot R) + 1$ 行,包含 $R$ 行 $C$ 列穿孔卡片的 ASCII 艺术图。
数据范围
$1 \le T \le 81$ $2 \le R \le 10$ $2 \le C \le 10$
样例
样例输入 1
3 3 4 2 2 2 3
样例输出 1
Case #1: ..+-+-+-+ ..|.|.|.| +-+-+-+-+ |.|.|.|.| +-+-+-+-+ |.|.|.|.| +-+-+-+-+ Case #2: ..+-+ ..|.| +-+-+ |.|.| +-+-+ Case #3: ..+-+-+ ..|.|.| +-+-+-+ |.|.|.| +-+-+-+
说明
样例 #1 是题目描述中给出的示例。样例 #2 和 #3 是额外的示例。请注意,每个用例的输出中恰好包含 $R \cdot C + 3$ 个句点。