#483. 黑板任务

黑板任务

黑板任务

题目描述

小A 在黑板上写了一个只包含小写英文字母的字符串 s'a''z')。

随后他从 s 中擦掉了一些字符(也可以一个都不擦),并将剩余字符任意重排,得到新串 t

t 的长度为 m,位置从 1m 编号。给定一个长度为 m 的整数序列 b1,b2,...,bmb_1, b_2, ..., b_m,其中:

bib_i 等于所有满足 tj>tit_j > t_i 的位置 jjii 的距离和,即:

bi=sum(ij)b_i = sum(|i - j|)(对所有 tj>tit_j > t_ijj 求和)。

你的任务是构造任意一个满足条件的字符串 tt

  1. tt 可以由 ss 删除若干字符后重排得到;
  2. tt 按上述规则计算出的数组恰好等于输入给定的 bb

保证至少存在一个解。

输入格式

第一行一个整数 qq1q1001 \leq q \leq 100),表示测试组数。

每组测试包含三行:

  1. 字符串 ss1s501 \leq |s| \leq 50,仅含小写英文字母);
  2. 整数 mm1ms1 \leq m \leq |s|);
  3. mm 个整数 b1,b2,...,bmb_1, b_2, ..., b_m0bi12250 \leq b_i \leq 1225)。

输出格式

对每组测试输出一行,一个满足条件的字符串 tt

样例

输入:

3
abac
3
2 1 0
abc
1
0
abba
3
1 0 1

输出:

aac
b
aba

说明

第一组中,"aac" 和 "aab" 都是合法答案。