改的可能有点多
#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;
while(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;
}