#include<stdio.h>
#include<stdlib.h>
typedef struct TNode* AVLTree;
struct TNode {
int Data;
AVLTree Left, Right;
int Flag;};
typedef enum{false,true} bool;
AVLTree NewAVLTree(AVLTree T, int N);
AVLTree Insert(AVLTree T, int K);
bool Judge(AVLTree T, int N);
bool check(AVLTree T, int K);voidClear(AVLTree T);
int main(){
int N;//number of TNodescanf("%d",&N);
int flag =1;while(N){
int L;//number of linescanf("%d",&L);
AVLTree T=NULL;T=NewAVLTree(T,N);while(L--){if(Judge(T,N)){if(flag) flag =0;elseprintf("\n");printf("Yes");}else{if(flag) flag =0;elseprintf("\n");printf("No");}Clear(T);}scanf("%d",&N);}return0;}
AVLTree NewAVLTree(AVLTree T,int N){
int i, temp;for(i =0; i <N; i++){scanf("%d",&temp);T=Insert(T, temp);}returnT;}
AVLTree Insert(AVLTree T, int K){if(!T){T=malloc(sizeof(struct TNode));T->Data =K;T->Left =T->Right =NULL;T->Flag =0;}elseif(K<T->Data)T->Left =Insert(T->Left,K);elseif(K>T->Data)T->Right =Insert(T->Right,K);returnT;}
bool Judge(AVLTree T,int N){
int temp, i, flag=1;for(i =0; i <N; i++){scanf("%d",&temp);if(flag&&!check(T, temp)) flag =0;}if(flag)returntrue;elsereturnfalse;}
bool check(AVLTree T, int K){if(!T->Flag){if(K==T->Data){T->Flag =1;returntrue;}elsereturnfalse;}else{if(K==T->Data)returnfalse;if(K<T->Data)check(T->Left,K);elseif(K>T->Data)check(T->Right,K);}}voidClear(AVLTree T){if(!T)return;T->Flag =0;Clear(T->Left);Clear(T->Right);}