#P3348. 第2题-01串划分

第2题-01串划分

题目内容

小钟有一个长度为nn0101ss,即仅由字符0011组成的字符串,如01011010101101。除此之外他还有mm个数字,分别用a1,a2,..ama_1,a_2,..a_m表示。

小钟很好奇,他能否选择mm个不相交的区间[l1,r1][l2,r2],...,[lm,rm][l_1,r_1][l_2,r_2],...,[l_m,r_m],使得对于任意的aia_i,其二进制表示(没有前导0000的二进制表示就是00),都能用ss的某个连续子串slj,lj+1,...rjs_{l_j,l_{j}+1,...r_j}来表示。

输入描述

输入包括多组测试数据。

输入第一行包括一个正整数T(1T20)T(1≤T≤20),表示测试数据的组数。

每组测试数据的第一行有两个整数n(1n100),m(1m6)n(1≤n≤100),m(1≤m≤6),分别表示0101ss的长度,数字个数。

第二行有一行长度为nn0101ss

第三行有mm个整数a1,a2,...am(0ai<210)a_1,a_2,...a_m(0≤a_i<2^{10}),表示小钟的mm个数字。

输出描述

对于每组测试数据,如果存在答案,输出一行“YESYES”;否则,输出一行“NONO”。

样例1

输入

2
5 2
10110
2 1
5 1
00000
1

输出

YES
NO

说明

对于第一组测试数据,22的二进制表示为101011的二进制表示为11,其中一种可以选择的区间 为 [1,2][3,3][1,2]、[3,3]

对于第二组测试数据,11的二进制表示为11,由于0101串中不存在字符11,故答案一定不存在。