#include<bits/stdc++.h>
using namespace std;
int n,q,vis[310][310];
vector<int> pic[310];
void dfs(int x,int y){
vis[y][x]=1;
for(int i=0;i<pic[x].size();i++){
dfs(pic[x][i],y);
}
return;
}
int main(){
cin>>n;
for(int i=1;i<n;i++){
int x;
cin>>x;
pic[x].push_back(i);
}
for(int i=0;i<n;i++){
dfs(i,i);
}
cin>>q;
for(int i=1;i<=q;i++){
int m,a[310];
cin>>m;
for(int j=1;j<=m;j++){
cin>>a[i];
}
for(int j=n-1;j>=0;j--){
int tmp=1;
for(int k=1;k<=m;k++){
if(!vis[j][a[k]]){
tmp=0;
break;
}
}
if(tmp){
cout<<"j="<<j<<endl;
break;
}
}
}
return 0;
}