纸牌游戏
题号:NC205301
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

Cubercsl 和 Oneday 在玩一个纸牌游戏。两个人手中都有 n 张数字牌,每张牌面上都包含 其中一个阿拉伯数字。
游戏规则是需要将手中的牌选出恰好 k 张,组成一个能被 3 整除的非负整数(不能含有多余前导零),组成的数大的获胜。
Cubercsl 自然是想取得胜利,所以他需要找到符合条件的最大的数。

输入描述:

第一行包含一个整数 T (),表示测试数据的组数。
对于每组测试数据,包含一个数字构成的串 s () 和一个整数 k (),中间以空格分隔,分别表示 Cubercsl 手中的牌和要选出的牌的数量。
输入保证

输出描述:

对于每组测试数据,在一行输出一个整数,表示最大的能被 3 整除的数。特别地,如果无解,输出 -1。
示例1

输入

复制
9
998244353 1
998244353 2
998244353 3
998244353 4
998244353 5
998244353 6
998244353 7
998244353 8
998244353 9

输出

复制
9
99
993
9984
99852
998544
9985443
99854433
-1
示例2

输入

复制
5
99999999999999999999 1
99999999999999999999 2
99999999999999999999 3
99999999999999999999 4
99999999999999999999 5

输出

复制
9
99
999
9999
99999