Puzzletown 的 Nikoli 珠宝店出售一系列由黑珍珠和白珍珠组成的项链。项链上的珍珠牢固地粘在长度为 $k$ 的绳子上,绳子的每一单位长度要么是一颗珍珠,要么是空的。每条项链都展示在一个划分为网格的矩形天鹅绒表面上,网格中的每个单元格要么包含一颗珍珠,要么包含一个单位的空绳,或者既没有珍珠也没有绳子。所有的绳子部分要么是水平的,要么是垂直的。一条正确展示的项链对应于连接显示表面部分单元格的闭合、不自交的路径。
由于这里毕竟是 Puzzletown,Nikoli 使用了一些棘手的规则来管理项链的展示方式,即一种名为“Masyu”(珍珠项链)的谜题规则。当项链沿着路径放置时(绳子上的间距单位与显示表面上的网格间距相匹配),珍珠必须满足 Masyu 谜题的约束,即:
- 白珍珠不能放置在包含路径转角的单元格上;此外,穿过该珍珠的路径所延伸的两个相邻单元格中,至少有一个必须包含转角。
- 黑珍珠必须放置在包含路径转角的单元格上;此外,穿过该黑珍珠的路径所延伸的两个相邻单元格中,都不能包含转角。
图 J.1 展示了一个正确展示的项链示例(这也对应于样例输入 1)。
图 J.1:长度为 16 的项链及其展示平台
Nikoli 的客户比较挑剔,因此他对项链提出了三个额外的限制。项链长度的至少一半由珍珠组成,而不是空的绳子部分。由于黑珍珠比白珍珠更受欢迎(或者至少更昂贵),Puzzletown 的富裕居民坚持要求黑珍珠的数量至少是白珍珠数量的两倍。最后,任意两颗珍珠之间空绳的间距不得超过五个单位。
Nikoli 有时发现,一旦他按照这些限制制作了一条项链,他就无法按照上述规则将其展示出来。请帮帮他!
输入格式
第一行包含 3 个整数 $k, n$ 和 $m$,其中 $k$ ($5 \le k \le 60$) 是绳子的长度,$n$ 和 $m$ ($5 \le n, m \le 50$) 分别是天鹅绒网格的行数和列数。左上角单元格为第 1 行,第 1 列。第二行包含一个长度为 $k$ 的字符串,仅由字符 ‘B’、‘W’ 和 ‘.’ 组成(分别代表黑珍珠、白珍珠和空绳段)。第一个字符始终是珍珠——即 ‘B’ 或 ‘W’。第三行包含两个整数 $r$ 和 $c$ ($1 \le r \le n, 1 \le c \le m$),表示字符串中第一颗珍珠所在的网格行号和列号。
输出格式
如果存在一种在给定网格边界内展示项链的正确方法,请打印项链布局的路径描述,假设字符串中的第一颗珍珠位于网格的第 $r$ 行、第 $c$ 列,并且路径按照输入字符串的顺序描述珍珠和空位。路径描述应由字母 N、S、E 和 W 组成,表示路径从当前单元格向北、南、东或西延伸。路径应该是闭合的且不能自交。如果存在多条这样的路径,输出字典序最小的那一条。
如果没有满足 Masyu 约束的可能路径,输出 impossible。
样例
样例输入 1
16 5 6 B.B.B.BW.WB..WB. 3 1
样例输出 1
EENNEESSSSWWWWNN
样例输入 2
6 5 5 W..B.B 3 3
样例输出 2
impossible