AtCoder Regular Contest 009

B - おとぎの国の高橋君


Time limit時間制限 : 2sec / Memory limitメモリ制限 : 64MB

問題文

高橋君の住むAtCoder国では、私達が普段使用する数字と同様に 10 個のアラビア数字 (0-9)10 進数が使われています。
しかし、私達が普段使用する数字は大小関係が 0<1<2<3<4<5<6<7<8<9 の順になっているのに対して、 AtCoder国の数字ではその大小関係が異なっています。
例えば、AtCoder国の数字では 0<9<8<7<6<5<4<3<2<1 の順になっている場合、AtCoder国では 9 よりも 8 の方が大きいことになります。また、97 よりも 72 の方が大きいことになります。

AtCoder国の数字の大小関係といくつかの数が与えられるので、AtCoder国の数字の大小関係で昇順に並び替えてください。
なお、私達が普段使用する数字同様、AtCoder国で最も小さい数字は 0 であることは決まっています。

入力

入力は以下の形式で標準入力から与えられる。
b_0 b_1 ‥‥ b_9
N
a_0
a_1
:
:
a_{N-1}
  • 入力は N+2 行ある。
  • 1 行目には、AtCoder国での 1 桁の数字の大小関係が与えられる。
    • AtCoder国では b_0 < b_1 < ... < b_9 であることを表している。
    • b_0 は必ず 0 である。
    • 重複する数字は存在せず、0 から 9 までの数字が 1 度ずつ現れる。
  • 2 行目には並び替える数の個数を表す整数 N(1≦N≦777) が与えられる。
  • 3 行目からの N 行には、j+3 行目に並び替える数を表す整数 a_j(1≦a_j≦777,777,777) が与えられる。

出力

与えられた数をAtCoder国の数字の大小関係にあわせて昇順に並び替え、標準出力に 1 行に 1 つの数字ずつ出力せよ。
なお、最後には改行を出力せよ。

入力例 1

0 8 1 3 5 4 9 7 6 2
10
1
2
3
4
5
6
7
8
9
10

出力例 1

8
1
3
5
4
9
7
6
2
10
  • AtCoder国ではこの大小関係の場合、0, 8, 1, 3, 5, 4, 9, 7, 6, 2, 80, 88, 81, 83, ..., 86, 82, 10, 18, 11, ... の順に大きくなるので、答えは上記の順になります。

入力例 2

0 9 8 7 6 5 4 3 2 1
3
13467932
98738462
74392

出力例 2

74392
98738462
13467932
  • 5 桁の数は 8 桁の数よりも小さいので、1 番は 74392 になります。
  • 9873846213467932 では最上位の 91 より小さいので、987384622 番目、134679323 番目になります。

入力例 3

0 1 2 3 4 5 6 7 8 9
4
643
1234
43
909

出力例 3

43
643
909
1234
  • 私達の普段使用する数と同じ大小関係に昇順に並べます。

入力例 4

0 7 4 3 9 5 6 2 1 8
2
333
333

出力例 4

333
333

入力例 5

0 2 4 6 8 1 3 5 7 9
1
10

出力例 5

10

Source name

ARC 009

Submit提出する