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) 每组有一长度为 1001 串和一个 正整数 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
提交 69
通过 26