#include <stdio.h>
#include <iostream>
using namespace std;
int ans = 1e9,a[200005],f[200005],n;
int dfs(int k,int i,int l){
if(l == n + 1)return 1e9;
if(f[i] > 0)return l + f[i];
if(k == i)return l;
dfs(k,a[i],l + 1);
}
int main(){
cin >> n;
for(int i = 1;i <= n;i++)cin >> a[i];
for(int i = 1;i <= n;i++){
f[i] = dfs(i,a[i],1);
ans = min(ans,f[i]);
}
cout << ans;
return 0;
}