第5回日本情報オリンピック 予選

2006年1月15日
情報オリンピック日本委員会

問題

 与えられた変換表にもとづき, データを変換するプログラムを作成しなさい.

 データに使われている文字は英字か数字で, 英字は大文字と小文字を区別する. 変換表に現れる文字の順序に規則性はない.

 変換表は空白をはさんで前と後ろの 2 つの文字がある(文字列ではない). 変換方法は, 変換表のある行の前の文字がデータに現れたら, そのたびにその文字を後ろの文字に変換し出力する. 変換は 1 度だけで, 変換した文字がまた変換対象の文字になっても変換しない. 変換表に現れない文字は変換せず, そのまま出力する.

 入力ファイルには, 変換表(最初の n + 1 行)に続き変換するデータ(n + 2 行目以降)が書いてある. 1 行目に変換表の行数 n, 続く n 行の各行は, 空白をはさんで 2 つの文字, さらに続けて, n + 2 行目に変換するデータの行数 m, 続く m 行の各行は 1 文字である. m < 108 とする. 出力は, 出力例のように途中に空白や改行は入れず 1 行とせよ.

 アップロードする出力ファイルにおいては, 出力(変換後の文字列)の後に改行を入れること.

入力例
3
A a
0 5
5 4
10
A
B
C
0
1
4
5
a
b
A
 
出力例
aBC5144aba