#include<iostream>
#include<vector>
using namespace std;
int in[200005],t[200005],num[200005],tot=0,ans=0x3f3f3f3f;
void dfs(int u){
num[u]=++tot;
int v=t[u];
if(num[v])ans=min(ans,tot-num[v]+1);
else dfs(v);
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>t[i];
in[t[i]]++;
}
for(int i=1;i<=n;i++){
if(in[i]==0)dfs(i);
}
cout<<ans;
return 0;
}
AC 1和9,其余全WA