数字替换魔法

题目描述

乐柠兔正在学习一种神奇的数字替换魔法

他手里有一个由 nn 个整数组成的数组: a1,a2,,ana_1,a_2,\dots,a_n 以及一个长度同为 nn 的字符串 ss,由小写英文字母组成。

乐柠兔可以通过如下过程,将数组 aa 逐步变换为一个由字母组成的数组,最终合并成一个字符串:

在数组中 仍然存在数字 的情况下,重复执行以下操作:

  1. 从数组中选择一个数字 xx
  2. 再选择一个小写英文字母 yy
  3. 将数组中 所有等于 xx 的位置 全部替换为字母 yy

例如,若初始数组为: a=[2,3,2,4,1]a=[2,3,2,4,1]

可以进行如下变换:

  • 选择数字 22,字母 c,数组变为 [c,3,c,4,1]
  • 选择数字 33,字母 a,数组变为 [c,a,c,4,1]
  • 选择数字 44,字母 t,数组变为 [c,a,c,t,1]
  • 选择数字 11,字母 a,数组变为 [c,a,c,t,a]

最终得到字符串 "cacta"

现在,给定整数数组 aa 和字符串 ss,请你判断:

是否 存在一种替换顺序,可以通过上述过程,将数组 aa 变换得到字符串 ss

输入格式

第一行输入一个整数 tt1t1031\le t\le 10^3),表示测试用例的数量。

接下来是 tt 组测试数据,每组格式如下:

  • 第一行输入一个整数 nn1n501\le n\le 50),表示数组 aa 和字符串 ss 的长度;
  • 第二行输入 nn 个整数: a1,a2,,an(1ai50)a_1,a_2,\dots,a_n \quad (1\le a_i\le 50),表示数组 aa 的元素;
  • 第三行输入一个长度为 nn 的字符串 ss,仅由小写英文字母组成。

输出格式

对于每个测试用例,输出一行:

如果可以通过合法的替换操作得到字符串 ss,输出:YES

否则输出:NO

样例

样例输入

3
5
1 2 3 2 1
aaaaa
6
1 10 2 9 3 8
azzfdb
7
1 2 3 4 1 1 2
abababb

样例输出

YES
YES
NO

样例说明

  • 在第一个样例中,可以将所有数字依次替换为字母 a

数据范围与约定

对于所有测试数据,保证:

  • 1t1031\le t\le 10^3
  • 1n501\le n\le 50
  • 1ai501\le a_i\le 50
  • 字符串 ss 仅包含小写英文字母

相关

在下列比赛中:

「果壳杯」 ROUND 42 (Div. 5)