#include<bits/stdc++.h>
using namespace std;
long int f[200010],n,i,l[200010],af,bf,a,minn=0x3f;//[41],n,i,i2,w,h,l;
int find(int x){
int xx;
if(f[x]!=x){
xx=f[x];
f[x]=find(f[x]);
l[x]+=l[xx];
}
return f[x];
}
int main() {
cin>>n;
for(i=1;i<=n;i++) f[i]=i;
for(i=1;i<=n;i++){
cin>>a;
af=find(a);bf=find(i);
if(af!=bf){
f[af]=bf;
l[af]=l[bf]+1;
}
else{
minn=min(minn,l[a]+l[i]+1);
}
}
cout<<minn;
return 0;
}