异或^的作用:成对消除,“告”掉,a^a=0,而0^b=b
——————而且异或的好处是不管顺序,即满***换律a^b=b^a
A组的数被B组“告”的只剩一个&&剩下的那一个数是素数
不包含1,1*任何数都不变
代码
#include <bits/stdc++.h>
using namespace std;

int t,n,m,a,s,ans;

bool isprime(int n){
	if(n==1||n==0) return false ;
	for(int i=2;i<=n/i;i++)
		if(n%i==0) return false;
	return true;
}

int main(int argc, char** argv) {
	cin>>t;
	for(int i=0;i<t;i++){
		s=0;ans=0;
		scanf("%d%d",&n,&m);
		for(int i=1;i<=n+m;i++){
			scanf("%d",&a);
			if(a!=1){
				i>n?s--:s++;
				ans^=a;
			}
		}
		if(s==1&&isprime(ans)) puts("YES");
		else puts("NO");
	}
	return 0;
}