1238. 奇妙数字问题

有了 0 到 9 这 10 个阿拉伯数字,我们可以构造出任意的自然数。

但是,在奇异世界里面,有一些阿拉伯数字丢失了,我们用一个长度为 10 的 01 串 s 来表示奇异世界里面拥有那些阿拉伯数字。01 串 s 下标从 0 开始编号,上面的一位为 1,表示奇异世界拥有该下标的对应的阿拉伯数字。例如:

  • 1000010001,表示奇异世界有数字 0,5,9
  • 1111000100,表示奇异世界有数字 0,1,2,3,7

而你最喜欢的数字是 x,你希望用奇异世界中的数字组成一个 x 的倍数 y,即 y 除以 x 的余数是 0,如果在闭区间 [1, 10^{100}] 里面能够找到,输出最小的 x 的倍数,否则,输出 -1。

输入

第一行一个数 T ,表示测试的组数。(1 ≤ T ≤ 200) 每组有一长度为 10 的 01 串和一个 正整数 x(0 < x ≤ 3000),含义如题意所示

输出

对于每组测,输出一行,表示答案,有解时,解不能含前导 0。

样例

标准输入 复制文本
10
0000001000 98
1111111101 88
1000000001 89
0000001000 232
1111000000 1230
0111111000 777
0111100000 666
1000010000 3000
1000011111 29
1100000000 33
标准输出 复制文本
666666666666666666666666666666666666666666
176
99090909
-1
1230
1554
1332
555000
58
111111

来源

2019 SCNUCS-N 现场赛

登录以提交代码。
单点时限 2 秒
内存限制 128 MB
提交 70
通过 27