#include<stdio.h>
using namespace std;
#define maxn 1000001
int q[maxn],a[maxn],IN[maxn],die[maxn],undie[maxn];
int n;
int ans1,ans2,len,bo;
int main()
{
int x;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);++IN[a[i]];
}
for(int i=1;i<=n;i++)
if(IN[i]==0)
{
++ans1;q[++ans2]=i;
}
for(int i=1;i<=ans2;i++)
{
x=a[q[i]];
if(die[x])continue;
die[x]=1;
undie[a[x]]=1;--IN[a[x]];
if(IN[a[x]]==0)q[++ans2]=a[x];
}
for(int i=1;i<=n;i++)
if(IN[i]&&!die[i])
{
len=bo=0;
for(int j=i;!die[j];j=a[j])
{
die[j]=1;
++len;
bo|=undie[j];
}
if(!bo&&len>1)
++ans1;
ans2+=len/2;
}
printf("%d\n%d",n-ans2,n-ans1);
}