#include<fstream>
using namespace std;
ifstream fin("date.in");
ofstream fout("date.out");
int n,t[100];
void citire()
{ fin>>n;
for(int i=1;i<=n;i++) fin>>t[i];
}
void f(int k)
{ if(t[k]) f(t[k]);
t[t[k]]=k;
}
int inaltime()
{
int i,j,h,maxx=0;
for(i=1;i<=n;i++)
{
h=0; j=i;
while(t[j])
{
h++;
j=t[j];
}
if(h>maxx) maxx=h;
}
return maxx;
}
int main()
{
int h[100],k,minn;
citire();
minn=n;
for(k=1;k<=n;k++)
{
f(k);
t[k]=0;
h[k]=inaltime();
if(h[k]<minn) minn=h[k];
}
for(k=1;k<=n;k++)
if(h[k]==minn) fout<<k<<" ";
fin.close();
fout.close();
return 0;
}
|