#iroha2019day3h. [iroha2019_day3_h]〔経験値〕

[iroha2019_day3_h]〔経験値〕

问题文

对于给定的英文字母 C,定义非空字符串 S 的 C-经验值 如下:

  • 如果除了 C 之外的某个字符在 S 中重复出现,则为 0。
  • 否则,假设 C 在 S 中出现了 N 次,则经验值为 (SN)2N(|S|-N) \cdot 2^{N}

例如,irohachan 的 a-经验值为 0,chokudai 的 z-经验值为 8,experience 的 e-经验值为 96。

现在,Iroha 向你提出了 Q 个问题。第 i 个问题如下:

问题:是否存在一个非空字符串,其中的英文字母为 C,其经验值恰好为 Ei?如果存在,则请输出字典序最小的字符串。

请依次回答这 Q 个问题。

限制条件

  • Q, EiE_i (1 ≤ i ≤ Q)为整数。
  • CiC_i (1 ≤ i ≤ Q)为英文字母。
  • 1 ≤ Q ≤ 10510^5
  • 0 ≤ EiE_i101810^{18} (1 ≤ i ≤ Q)。

输入

输入以以下格式给出:

Q
C1 E1
C2 E2
...
CQ EQ

输出

输出 Q 行。第 i 行应输出第 i 个问题的答案,按照以下方式输出:

如果不存在一种字符串,其中的英文字母为 Ci,其经验值为 Ei,则输出 -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

解说

解说