/*#include <stdio.h>
char map[10][10]={};
void dfs(int a, int b)
{
if (a<0 || b<0 || a>9 || b>9 || map[a][b]=='*') return;
map[a][b]='*';
dfs(a-1,b);
dfs(a+1,b);
dfs(a,b+1);
dfs(a,b-1);
}
int main()
{
int a,b,i,j;
char tmp;
for (i=0; i<10; i++)
{
for (j=0; j<10; j++)
{
scanf("%c",&map[i][j]);
}
scanf("%c",&tmp);
}
scanf("%d %d", &a, &b);
dfs(b,a);
for (i=0; i<10; i++)
{
for (j=0; j<10; j++)
{
printf("%c",map[i][j]);
}
printf("\n");
}
}
/*
_ _ _ _ _ _ _ _ _ _
_ _ _ _ _ * * * * _
_ _ _ _ _ * _ _ * _
_ _ * * * * * * * _
_ _ * _ _ * _ * * _
_ _ * _ _ * * * * _
__*____*__
__*____*__
__******__
__________
*/
/*
#include <stdio.h>
#define SIZE 1001
int map[SIZE][SIZE]={};
int n,m,day=0;
typedef struct
{
int x, y;
}point;
point queue[SIZE];
int front=-1,rear=-1;
void enq(point p)
{
map[p.x][p.y]=1;
rear++;
queue[rear]=p;
}
point deq()
{
if(front!=rear)
{
front++;
return queue[front];
}
}
void bfs(point p) //P의 사방에 있는 점 중에 이동할 수 있는 점이 있으면 그 점을 enq해라
{
point tmp;
if (p.x+1>=1&& p.x+1<=n && p.y<=m && p.y>=1 && map[p.x+1][p.y]==0)
{
tmp.x=p.x+1;
tmp.y=p.y;
enq(tmp);
}
if (p.x-1>=1&& p.x-1<=n && p.y<=m && p.y>=1 && map[p.x-1][p.y]==0)
{
tmp.x=p.x-1;
tmp.y=p.y;
enq(tmp);
}
if (p.x>=1&& p.x<=n && p.y+1<=m && p.y+1>=1 && map[p.x][p.y+1]==0)
{
tmp.x=p.x;
tmp.y=p.y+1;
enq(tmp);
}
if (p.x>=1&& p.x<=n && p.y-1<=m && p.y-1>=1 && map[p.x][p.y-1]==0)
{
tmp.x=p.x;
tmp.y=p.y-1;
enq(tmp);
}
}
int main()
{
int i,j;
point p;
scanf("%d %d",&m, &n);
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
{
scanf("%d",&map[i][j]);
if(map[i][j]==1)
{
p.x=i;
p.y=j;
enq(p);
}
}
}
while(rear!=front)
{
p=deq();
bfs(p);
}
printf("%d",day);
return 0;
}
*/
/*
0 1 2 3 4 5 6 7 8 i
0 0 1 0 1 0 2 0 1 arr[i]
#include <stdio.h>
int main()
{
int n,i,j,tmp;
int arr[4500001]= {};
scanf("%d",&n);
for (i=0; i<n; i++)
{
scanf("%d",arr[i]);
}
for(j=0; j<n; j++)
{
for (i=0; i<n; i++)
{
if (arr[i]>arr[i+1])
{
tmp=arr[i+1];
arr[i+1]=arr[i];
arr[i]=tmp;
}
}
}
for (i=0;i<n;i++)
{
printf("%d ",arr[i]);
}
}
*/
/*
#include <stdio.h>
int main()
{
int score[24]={};
int n,i,t;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&t);
score[t]++;
}
for (i=1; i<=23; i++)
{
printf("%d ",score[i]);
}
return 0;
}
memoization 메모이제이션
arr[i]=i번째 들어온 데이터
arr[i]=i에 관련된 정보 ex) i가 몇번 입력되었는지? i가 입력된 적이 있는지?
1430
1412
*/
/*
#include <stdio.h>
int main()
{
int arr[26]={};
int i,j,n;
char str[91];
gets(str);
for (i=0;i<strlen(str);i++)
{
if(str[i]>='a' && str[i]<='z')
{
arr[str[i]-'a']++;
}
}
for (i=0; i<26;i++)
{
printf("%c:%d\n",i+'a',arr[i]);
}
return 0;
}*/
#include <stdio.h>
int main()
{
int arr[10000001]={};
int n,m,i,b,j;
scanf("%d",&n);
for (i=0; i<n; i++)
{
scanf("%d",&b);
arr[b]=1;
}
scanf("%d",&m);
for (i=0;i<m;i++)
{
scanf("%d",&b);
printf("%d ",arr[b]);
}
return 0;
}
/*
///0 0 1 2 1 1 2 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
///0 0 1 2 1 1 2 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
///0 0 0 0 0 0 0 0 0 0 0 0 0
///0 0 0 0 0 0 0 0 0 0 0 0 0 0
///0 1 2 1 1 2 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
///1 2 1 1 2 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
///1 2 1 1 2 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0*/