#include<stdio.h>
#include<malloc.h>
#define maxsize 1000000
#define numsize 1000
typedef struct
{
int *elem;
int length;
int listsize;
}list;
int init(list *l)
{
l->elem=(int *)malloc(maxsize *sizeof(int));
if(!l->elem)
return -1;
l->length=0;
l->listsize=maxsize;
return 0;
}
void creat(list *l,int n)
{
int i;
for(i=1;i<=n;i++)
{
scanf("%d",&l->elem[i]);
}
l->length=n;
}
void ex(list *l,int s,int t)
{
int i=s,j=t,k;
while(i<=j)
{
k=l->elem[i];
l->elem[i]=l->elem[j];
l->elem[j]=k;
i++;
j--;
}
}
void print(list *l)
{
int i;
for(i=1;i<=l->length;i++)
{
if(i==1)
printf("%d",l->elem[i]);
else printf(" %d",l->elem[i]);
}
}
int main()
{
int n,m,t;
list l;
scanf("%d",&n);
init(&l);
creat(&l,n);
scanf("%d",&t);
while(t--)
{
scanf("%d",&m);
ex(&l,1,n);
ex(&l,1,n-m);
ex(&l,n-m+1,n);
print(&l);
printf("\n");
}
return 0;
}