AT_yuha_c88_e 必殺!無限覇王斬!

Description

[problemUrl]: https://atcoder.jp/contests/yuha-c88/tasks/yuha_c88_e 本問題のみ入力にマルチバイト文字が含まれる。 マルチバイト文字は BOM (Byte Order Mark) なしの UTF-8 でエンコードされている。 入力は以下の形式で標準入力から与えられる。 > $ N $ $ S_1 $ $ S_2 $ ... $ S_N $ $ L_1 $ $ A_1 $ $ L_2A_2□A_3L_3 $ $ A_4 $ $ L_4 $ - $ 1 $ 行目には単語の数 $ N\ (4\ ≦\ N\ ≦\ 40,000) $ が与えられる。 - $ 2 $ 行目からの $ N $ 行のうち $ i $ 行目には $ i $ 番目の単語 $ S_i $ が与えられる。 - $ S_i $ は Unicode の 0x0021 ~ 0x007E (空白を除いた printable な ASCII 文字) または 0x4E00 ~ 0x9FFF (漢字) の範囲の文字からなる。 - $ S_i $ の長さ $ |S_i| $ は $ |S_i|\ =\ 2 $ を満たす。 - $ i\ ≠\ j $ のとき $ S_i\ ≠\ S_j $ が保証される。 - $ N\ +\ 2 $ 行目からの $ 5 $ 行には勇者が夢の中で得たイメージの情報が与えられる。 - イメージの情報は $ 5 $ 行 $ 5 $ 列からなる。 - $ 1 $ 、 $ 2 $ 、 $ 4 $ 、 $ 5 $ 行目の $ 1 $ 、 $ 2 $ 、 $ 4 $ 、 $ 5 $ 文字目はそれぞれ全角スペース ` ` (0x3000) である。 - $ 1 $ 行目の $ 3 $ 文字目、 $ 3 $ 行目の $ 1 $ 文字目および $ 5 $ 文字目、 $ 5 $ 行目の $ 3 $ 文字目は $ S_1\ ...\ S_N $ に含まれる文字のいずれかである。 - $ 2 $ 行目の $ 3 $ 文字目および $ 4 $ 行目の $ 3 $ 文字目はそれぞれ `↑` (0x2191) または `↓` (0x2193) である。 - $ 3 $ 行目の $ 2 $ 文字目および $ 3 $ 行目の $ 4 $ 文字目はそれぞれ `←` (0x2190) または `→` (0x2192) である。 - $ 3 $ 行目の $ 3 $ 文字目は `□` (0x25AA) である。 イメージから連想される文字 $ 1 $ 文字を $ 1 $ 行に出力せよ。 マルチバイト文字は BOM (Byte Order Mark) なしの UTF-8 でエンコードして出力せよ。 出力の末尾に改行を入れること。 答えは唯一に定まることが保証されている。 ``` 8 結構 連覇 覇王 草堂 覇道 覇者 慈愛 梵字   連     ↓   者←□→道   ↓     王   ``` ``` 覇 ``` ``` 6 王権 王制 口偏 王侯 王族 浜焼   制     ↑   侯←□→権   ↓     族   ``` ``` 王 ``` ``` 4 辻斬 斬髪 斬首 斬新   辻     ↓   髪←□→新   ↓     首   ``` ``` 斬 ``` ``` 4 AZ BZ ZC ZD   A     ↓   B→□→D   ↓     C   ``` ``` Z ``` UTF-8 では 1 文字は 1 ~ 4 バイトで符号化されている。 C/C++ には標準で UTF-8 を扱うためのライブラリが存在しないため注意すること。 本問題の入力には 1 バイトまたは 3 バイトでエンコーディングされた文字のみが含まれる。 詳しくは “UTF-8 C++” 等で検索されることをおすすめする。

Input Format

聖剣を入手した勇者はかっこいい必殺技を考えることにした。 勇者はかっこいい必殺技にはかっこいい名前が必要だと考え、 宿屋で夜更かしをしながら考えていた。 良いアイデアが思い浮かばずうとうとしていると、 夢の中で以下の様なイメージが浮かんできた。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_yuha_c88_e/576bc9d622ec21de1a983af3a7762eb8a0268931.png)イメージ 勇者が必殺技につけるべき名前はなんだろうか? - - - - - - 本問題のみ入力にマルチバイト文字が含まれる。 マルチバイト文字は BOM (Byte Order Mark) なしの UTF-8 でエンコードされている。 入力は以下の形式で標準入力から与えられる。 > $ N $ $ S_1 $ $ S_2 $ ... $ S_N $ $ L_1 $ $ A_1 $ $ L_2A_2□A_3L_3 $ $ A_4 $ $ L_4 $ - $ 1 $ 行目には単語の数 $ N\ (4\ ≦\ N\ ≦\ 40,000) $ が与えられる。 - $ 2 $ 行目からの $ N $ 行のうち $ i $ 行目には $ i $ 番目の単語 $ S_i $ が与えられる。 - $ S_i $ は Unicode の 0x0021 ~ 0x007E (空白を除いた printable な ASCII 文字) または 0x4E00 ~ 0x9FFF (漢字) の範囲の文字からなる。 - $ S_i $ の長さ $ |S_i| $ は $ |S_i|\ =\ 2 $ を満たす。 - $ i\ ≠\ j $ のとき $ S_i\ ≠\ S_j $ が保証される。 - $ N\ +\ 2 $ 行目からの $ 5 $ 行には勇者が夢の中で得たイメージの情報が与えられる。 - イメージの情報は $ 5 $ 行 $ 5 $ 列からなる。 - $ 1 $ 、 $ 2 $ 、 $ 4 $ 、 $ 5 $ 行目の $ 1 $ 、 $ 2 $ 、 $ 4 $ 、 $ 5 $ 文字目はそれぞれ全角スペース ` ` (0x3000) である。 - $ 1 $ 行目の $ 3 $ 文字目、 $ 3 $ 行目の $ 1 $ 文字目および $ 5 $ 文字目、 $ 5 $ 行目の $ 3 $ 文字目は $ S_1\ ...\ S_N $ に含まれる文字のいずれかである。 - $ 2 $ 行目の $ 3 $ 文字目および $ 4 $ 行目の $ 3 $ 文字目はそれぞれ `↑` (0x2191) または `↓` (0x2193) である。 - $ 3 $ 行目の $ 2 $ 文字目および $ 3 $ 行目の $ 4 $ 文字目はそれぞれ `←` (0x2190) または `→` (0x2192) である。 - $ 3 $ 行目の $ 3 $ 文字目は `□` (0x25AA) である。 ### 出力 イメージから連想される文字 $ 1 $ 文字を $ 1 $ 行に出力せよ。 マルチバイト文字は BOM (Byte Order Mark) なしの UTF-8 でエンコードして出力せよ。 出力の末尾に改行を入れること。 答えは唯一に定まることが保証されている。 - - - - - - ### 入力例 1 ``` 8 結構 連覇 覇王 草堂 覇道 覇者 慈愛 梵字   連     ↓   者←□→道   ↓     王   ``` ### 出力例 1 ``` 覇 ``` - - - - - - ### 入力例 2 ``` 6 王権 王制 口偏 王侯 王族 浜焼   制     ↑   侯←□→権   ↓     族   ``` ### 出力例 2 ``` 王 ``` - - - - - - ### 入力例 3 ``` 4 辻斬 斬髪 斬首 斬新   辻     ↓   髪←□→新   ↓     首   ``` ### 出力例 3 ``` 斬 ``` - - - - - - ### 入力例 4 ``` 4 AZ BZ ZC ZD   A     ↓   B→□→D   ↓     C   ``` ### 出力例 4 ``` Z ``` ### 注意 UTF-8 では 1 文字は 1 ~ 4 バイトで符号化されている。 C/C++ には標準で UTF-8 を扱うためのライブラリが存在しないため注意すること。 本問題の入力には 1 バイトまたは 3 バイトでエンコーディングされた文字のみが含まれる。 詳しくは “UTF-8 C++” 等で検索されることをおすすめする。

Output Format

N/A