#iroha2019day3h. [iroha2019_day3_h]〔経験値〕

[iroha2019_day3_h]〔経験値〕

問題文

ある英小文字 CC について、英小文字からなる空でない文字列 SSCC -経験値を、次のように定義します。

  • CC 以外のある文字が SS に重複して現れる場合、 00
  • そうでない場合、 SSCC が現れる回数を NN 回として、 (SN)cdot2N(|S|-N) \\cdot 2^{N}

例えば、irohachanaa -経験値は 00chokudaizz -経験値は 88experienceee -経験値は 9696 です。

いろはちゃんは、あなたに QQ 個の質問をしてきました。 i(1leqileqQ)i \\ (1 \\leq i \\leq Q) 番目の質問は以下の通りです。

質問: CiC_i -経験値がちょうど EiE_i である、英小文字からなる空でない文字列は存在するか?存在するのであれば、そのうち辞書順で最小のものは何か?

これら QQ 個の質問に順に答えてください。

制約

  • Q,Ei(1leqileqQ)Q, E_i \\ (1 \\leq i \\leq Q) は整数
  • Ci(1leqileqQ)C_i \\ (1 \\leq i \\leq Q) は英小文字
  • 1leqQleq1051 \\leq Q \\leq 10^{5}
  • 0leqEileq1018(1leqileqQ)0 \\leq E_i \\leq 10^{18} \\ (1 \\leq i \\leq Q)

入力

入力は以下の形式で与えられる。

QQ C1E1C_1 \\ E_1 C2E2C_2 \\ E_2 vdots\\vdots CQEQC_Q \\ E_Q

出力

QQ 行出力せよ。 i(1leqileqQ)i \\ (1 \\leq i \\leq Q) 行目には、 ii 番目の質問の答えを、以下に従って出力せよ。

CiC_i -経験値が EiE_i である、英小文字からなる空でない文字列が存在しない場合は-1を、存在する場合は、そのような文字列のうち辞書順で最小のものを出力せよ。

この問題において、条件を満たす文字列が存在する場合、その中で辞書順最小のものは一意に定まることが保証される。


入力例1


7
a 48
t 27
c 30
o 1
d 58
e 88
r 800

出力例1


aaaabcd
-1
abcdefghijklmnop
a
-1
abcdeeefghijkl
abcdefghijklmnopqrrrrrstuvwxyz

解説

解説