P0416

[HAOI2008]玩具取名

[HAOI2008]玩具取名

某人有一套玩具,并想法给玩具命名。

首先他选择 W、I、N、G 四个字母中的任意一个字母作为玩具的基本名字。然后他会根据自己的喜好,将名字中任意一个字母用 WING 中任意两个字母代替,使得自己的名字能够扩充得很长。

现在,他想请你猜猜某一个很长的名字,最初可能是由哪几个字母变形过来的。

输入格式

第一行四个整数 WW、II、NN、GG,表示每一个字母能由几种「两个字母」的组合所替代。

接下来 WW 行,每行两个字母,表示 W 可以用这两个字母替代;

接下来 II 行,每行两个字母,表示 I 可以用这两个字母替代;

接下来 NN 行,每行两个字母,表示 N 可以用这两个字母替代;

接下来 GG 行,每行两个字母,表示 G 可以用这两个字母替代。

最后一行是一个长度不超过 Len\mathit{Len} 的字符串,表示这个玩具的名字。

输出格式

一行字符串,表示该名字可能由哪些字母变形而得到,按照 WING 的顺序输出。

如果给定的名字不能由任何一个字母变形而得到,则输出 The name is wrong!。

样例输入

1 1 1 1
II
WW
WW
IG
IIII

样例输出

IN

样例解释

W 可以变成 II,所以 IIII 可以缩成 WW;I 与 N 均能变成 WW,所以 WW 又可以缩成 I 或者 N。

因此最终答案按照 WING 的顺序输出为 IN。

数据范围

对于 100%100\% 的数据:

  • Len≤200\mathit{Len}\le 200;
  • W,I,N,G≤16W, I, N, G\le 16。

来源与许可

本题为 HAOI 2008 试题「玩具取名」,题面与测试数据整理自 BZOJ 1055。

样例 1

输入

1 1 1 1
II
WW
WW
IG
IIII

输出

IN