20250606
//#include<stdio.h>
//#include<string.h>
//int main()
//{
// char str[1005]={};
// int stack[1005]={}, top=-1, i,bo=0;
// while (1)
// {
// for(i=0;i<strlen(str);i++)
// {
// str[i]=0;
// }
// bo = 1;
// for(i=0;;i++)
// {
// scanf("%c", &str[i]);
// if (str[i]=='\n')
// {
// i--;
// continue;
// }
// if (str[i]=='.')
// {
// if (top>-1)
// {
// bo = 0;
// }
// break;
// }
// if (str[i]=='(')
// {
// top++;
// stack[top]=1;
// }
// if (str[i]=='[')
// {
// top++;
// stack[top]=2;
// }
// if (str[i]==')')
// {
// if (top>-1)
// {
// if (stack[top]!=1)
// {
// bo = 0;
// }
// else
// {
// top--;
// }
// }
// else
// {
// bo = 0;
// }
// }
// if (str[i]==']')
// {
// if (top>-1)
// {
// if (stack[top]!=2)
// {
// bo = 0;
// }
// else
// {
// top--;
// }
// }
// else
// {
// bo = 0;
// }
// }
// }
// top = -1;
// if (str[0]=='.')
// {
// break;
// }
// if (bo==1)
// {
// printf("yes\n");
// }
// else
// {
// printf("no\n");
// }
// }
// return 0;
//}
#include<stdio.h>
int main()
{
int m, i, k, temp, j, n, arr[100005][3]={}, bo=1,x;
scanf("%d", &n);
i=1;
j=1;
while(i<=n)
{
scanf("%d", &k);
arr[i][0]=k;
arr[j][2]=k;
i++;
j++;
}
i=1;
j=1;
x = n;
while(j<=x)
{
scanf("%d", &arr[i][1]);
if (arr[j][2]==1)
{
i--;
n--;
}
i++;
j++;
}
scanf("%d", &m);
i=1;
while(i<=m)
{
scanf("%d", &k);
j=1;
while(j<=n)
{
temp = k;
k = arr[j][1];
arr[j][1] = temp;
j++;
}
printf("%d ", k);
i++;
}
return 0;
}




