#include <iostream>
using namespace std;
int n, f[1000], vis[1000], cnt;
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)cin >> f[i];
int q;
cin >> q;
while (q--)
{
int x;
int p;
cin >> p;
for (int i = 1; i <= p; i++)
{
cin >> x;
vis[x]++;
for (int i = 1; ; i++)
{
if (x != 0)
{
vis[f[x]]++;
x = f[x];
}
else break;
}
cnt++;
}
for (int i = n; i >= 0; i--)
if (vis[i] == cnt)
{
cout << i << endl;
break;
}
}
return 0;
}