描述
给定一个由小英文字母组成的字符串 w 和一个整数 p。字符串的“价格”是字符串中所有字母的索引值之和(字母 a 的索引为 1,b 为 2,……,z 为 26)。例如,字符串 abca 的价格为1+2+3+1=7。
你的任务是从字符串 w 中删除最少数量的字母,使得剩余字符串的价格小于或等于p,并输出结果字符串。注意,结果字符串可以为空。你可以删除任意字母,删除的字母不需要连续。如果字符串w的价格已经小于或等于p,则不需要删除任何字母,直接输出w。
删除字母时,剩余字母的顺序保持不变。例如,从字符串 test 中删除字母 e,得到 tst。
输入
第一行包含一个整数t,表示测试用例的数量。 每个测试用例一行:用单个空格分割的小写字母组成的字符串w和整数p
对于100%的数据:
1\le t \le 10^4
|w|(w的长度)不超过2×10^5
1\le p \le 5200000
数据保证:每个测试用例字符串长度之和不超过2×10^5。
输出
输出t行,每行对应一个测试用例的结果。输出从w中删除字母后得到的最长字符串,且其价格小于或等于p。如果有多个答案,输出任意一个即可。注意,空字符串也是一个可能的答案,此时直接输出空字符串。
样例
输入
5 abca 2 abca 6 tech 1 aioj 15 aioj 520
输出
aa aba ai aioj