問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
人気中華料理店「牌座」には常に長蛇の行列ができています。現在は N 人並んでおり、先頭から i 番目の人の名前は A_i です。そこへ、新たに M 人の客が行列に並ぼうと考えています。彼らの名前は順に B_j です。しかし、お腹が空いた M 人の客は行列の X_j 番目の人の前に順に割り込んでしまいました。 M 人の客が割り込んだ後の、最終的な N + M 人の行列に並んでいる人の名前を、行列の先頭から順に答えてください。なお X_j = N + j のとき、客は行列の最後尾に並びます。
1 つ目のサンプルを見てみましょう。
最初は kirishima
, rokumura
, midorikawa
, kurota
, neko
, margaret
の順で並んでいます。そこへ、 noda
, kino
, sakura
, nitta
の 4 人が行列に割り込もうと考えています。
まずは noda
さんが行列の 3 番目にいた midorikawa
さんの前に割り込みます。すると行列は以下のようになります。[先頭] kirishima, rokumura, noda, midorikawa, kurota, neko, margaret [末尾]
次に kino
さんが行列の 4 番目にいた midorikawa
さんの前に割り込みます。すると行列は以下のようになります。[先頭] kirishima, rokumura, noda, kino, midorikawa, kurota, neko, margaret [末尾]
そして sakura
さんが行列の 2 番目にいた rokumura
さんの前に割り込みます。すると行列は以下のようになります。[先頭] kirishima, sakura, rokumura, noda, kino, midorikawa, kurota, neko, margaret [末尾]
最後に nitta
さんが行列の 8 番目にいた neko
さんの前に割り込みます。すると行列は以下のようになります。[先頭] kirishima, sakura, rokumura, noda, kino, midorikawa, kurota, nitta, neko, margaret [末尾]
N M
A_1 A_2 ... A_N
B_1 B_2 ... B_M
X_1 X_2 ... X_M
M 人の客が割り込んだ後の、最終的な N + M 人の行列に並んでいる人の名前を、行列の先頭から順に改行区切りで答えてください。
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
・ 入力はすべて整数
・ 1 ≦ N < 1,000
・ 1 ≦ M < 1,000
・ 2 ≦ N + M ≦ 1,000
・ 1 ≦ X_j ≦ N + j
・ A_i, B_j は英小文字のみで構成され、それぞれ 1 文字以上 10 文字以下である
・ x ≠ y において、 A_x ≠ A_y かつ B_x ≠ B_y である
・ 任意の x, y において、 A_x ≠ B_y である
6 4
kirishima rokumura midorikawa kurota neko margaret
noda kino sakura nitta
3 4 2 8
kirishima
sakura
rokumura
noda
kino
midorikawa
kurota
nitta
neko
margaret
4 4
a b c d
w x y z
1 1 6 7
x
w
a
b
c
y
z
d