#4238. 新词典序排序(Neo-lexicographicOrdering)

新词典序排序(Neo-lexicographicOrdering)

题目描述

小高是AtCoder王国的统治者,决定改变英文小写字母的字母顺序。新的字母顺序由一个字符串XX表示,它是aabb、...、zz的一个排列。XX的第ii个字符(1i26)(1 ≤ i ≤ 26)将是新顺序中第ii小的英文小写字母。

王国有NN个公民,他们的名字是S1S_1, S2S_2, ..., SNS_N,其中每个Si(1iN)S_i (1 ≤ i ≤ N)由小写英文字母组成。
按照小高决定的字母顺序,对这些名字进行字典序排序。

输入格式

输入按以下格式从标准输入给出:

XX

NN

S1S_1

S2S_2

\vdots

SNS_N

输出格式

输出NN行。第ii(1iN)(1 ≤ i ≤ N)应包含按小高决定的字母顺序排序后的第ii小的名字。

样例

bacdefghijklmnopqrstuvwxzy
4
abx
bzz
bzy
caa
bzz
bzy
abx
caa
zyxwvutsrqponmlkjihgfedcba
5
a
ab
abc
ac
b
b
a
ac
ab
abc

样例1解释

在小高设定的新字母顺序中,bbaa小,zzyy小。因此,按字典序排序公民的名字会得到bzzbzyabxcaa的升序结果。

数据范围

XXaabb、...、zz的一个排列, 2N500002 ≤ N ≤ 50000NN是整数。1Si10(1iN)1 ≤ |S_i| ≤ 10 (1 ≤ i ≤ N)SiS_i由小写英文字母组成。(1iN)(1 ≤ i ≤ N), SiSj(1i<jN)S_i ≠ S_j (1 ≤ i < j ≤ N)

来源

  • AtCoder ABC219C