20pt骗分
n,m=map(int,input().split())
V=list(map(int,input().split()))
parent=[0]+list(map(int,input().split()))
for _ in range(m):
a=int(input())
if a==1:
#询问根节点,输出所有子节点
result=[]
for i in range(2,n+1):
result.append(str(i))
print(' '.join(result))
else:
result=[]
for i in range(2,a+1):
#从小到大输出即可
result.append(str(i))
print(' '.join(result))