#include<bits/stdc++.h>
using namespace std;
const int N=10005;
vector<int> e[N];
int d[N],low[N],tot;
int stk[N],in[N],top;
int sc[N],sz[N],cnt;
int n,din[N];
void tan(int x){
d[x]=low[x]=++tot;
stk[++top]=x,in[x]=1;
for(int y:e[x]){
if(!d[y]){
tan(y);
low[x]=min(low[x],low[y]);
}
else if(in[y])
low[x]=min(low[x],d[y]);
}
if(d[x]==low[x]){
int y;
++cnt;
do{
y=stk[top--];
in[y]=0;
sc[y]=cnt;
}while(y!=x);
}
}
int main(){
cin>>n;
for(int i=1,a;i<=n;i++){
while(cin>>a,a){
e[i].push_back(a);
}
}
for(int i=1;i<=n;i++)
if(!d[i])
tan(i);
for(int x=1;x<=n;x++){
for(auto y:e[x]){
if(sc[x]!=sc[y]){
din[sc[y]]++;
d[sc[x]]++;
}
}
}
int a=0,b=0;
for(int i=1;i<=cnt;i++){
if(!din[i]) a++;
if(!d[i]) b++;
}
cout<<a<<endl;
if(cnt==1) cout<<"0"<<endl;
cout<<max(a,b)<<endl;
return 0;
}