小玛雅一直很喜欢拼图。大家都知道她有这个爱好很久了,所以有一天,玛雅收到了一份奇特的拼图礼物,也就不足为奇了。
这套拼图共有 $n$ 块。每一块都是矩形,且具有特定的颜色。此外,每块拼图的背面都写着两个数字:$u$ 和 $d$。经过一段时间的巧妙组合和尝试拼装,玛雅弄明白了这些数字的含义。
她发现数字 $u$ 代表“方向”,换句话说,它决定了下一块拼图是连接在当前拼图的上方还是右侧。数字 $d$ 指定了我们连接下一块拼图时所依据的起始列/行。具体细节如下:
- 如果 $u$ 等于 $0$,我们将下一块拼图连接在当前拼图的上方,连接方式是将下一块拼图的左下角与当前拼图顶边的第 $d$ 列对齐。
- 如果 $u$ 等于 $1$,我们将下一块拼图连接在当前拼图的右侧,连接方式是将下一块拼图的左下角与当前拼图右边的第 $d$ 行对齐。
让我们以颜色为 "a" 和 "b" 的拼图为例进行演示。图 1 展示了 $u=0$ 且 $d=3$ 的情况。图 2 展示了 $u=1$ 且 $d=3$ 的情况。(在这两种情况下,$u$ 和 $d$ 均代表写在颜色为 "a" 的拼图背面的数字)。
图 1
图 2
玛雅已经厌倦了这个令人困惑的拼图,但她的好奇心永无止境!这就是为什么她向你寻求帮助。她想知道,在给定每一块拼图的描述以及它们的拼接顺序后,完成后的拼图是什么样子的?请编写一个程序,输出完成后的拼图的尺寸(高度和宽度),以及它在一个相同高度和宽度的矩形内的最终外观,其中 "." 表示拼图中没有部分的位置。
输入格式
第一行包含一个整数 $n$ ($1 \le n \le 20$),表示拼图块的数量。
接下来的 $n$ 行中,第 $i$ 行包含 1 个字符和 4 个整数,依次为 $b_i, r_i, s_i, u_i, d_i$,表示第 $i$ 块拼图的描述:
- $b_i$ 始终为 1 个小写英文字母,代表第 $i$ 块拼图的颜色。
- $r_i$ 和 $s_i$ ($1 \le r_i, s_i \le 10$) 分别代表第 $i$ 块拼图的行数和列数。
- $u_i$ 和 $d_i$ ($0 \le u_i \le 1, 1 \le d_i \le r_i, s_i$(取决于 $u_i$)) 是写在第 $i$ 块拼图背面的数字,含义与题目描述中相同。
输入的最后一行包含 $n$ 个整数,表示拼图的连接顺序,其中数字 $i$ ($1 \le i \le n$) 代表输入中的第 $i$ 块拼图。每块拼图在序列中恰好出现一次。
输出格式
输出完成后的拼图的高度和宽度。之后,输出该拼图在相同高度和宽度的矩形内的外观。在矩形内没有拼图部分的位置,输出 "."。
子任务
| 子任务 | 分值 | 约束 |
|---|---|---|
| 1 | 17 | 拼图的连接顺序与输入顺序相同。 |
| 2 | 12 | 对于每块拼图:$u = 0$。 |
| 3 | 12 | 对于每块拼图:$u = 1$。 |
| 4 | 9 | 无额外约束。 |
样例
样例输入 1
2 a 3 4 0 3 b 2 5 1 1 1 2
样例输出 1
5 7 ..bbbbb ..bbbbb aaaa... aaaa... aaaa...
样例输入 2
2 a 3 4 0 3 b 2 5 1 1 2 1
样例输出 2
4 9 .....aaaa .....aaaa bbbbbaaaa bbbbb....
样例输入 3
4 g 9 5 0 2 a 3 2 1 1 c 5 10 0 2 p 8 7 1 6 4 3 2 1
样例输出 3
18 17 ..........ggggg.. ..........ggggg.. ..........ggggg.. ..........ggggg.. ..........ggggg.. ..........ggggg.. ..........ggggg.. ..........ggggg.. ........aaggggg.. ........aa....... ppppppp.aa....... pppppppcccccccccc pppppppcccccccccc pppppppcccccccccc pppppppcccccccccc pppppppcccccccccc ppppppp.......... ppppppp..........