}
count=1;
int ss;
ss=ans;
while(ans==ss)
{
for(i=0; i
a[i].count=1;
a[i].pre=i;
}
for(i=0; i
if(mark[i]==1)
continue;
for(j=0; j {
if(mark[j]==1)
continue;
if(a[j].x=a[i].count)
{
a[i].count=a[j].count+1;
a[i].pre=j;
}
}
}
ans=0;
int temp;
for(i=0; i
if(mark[i]==1)
continue;
if(ans {
ans=a[i].count;
temp=i;
}
}
if(ans==ss)
count++;
int x;
x=temp;
while(1)
{
mark[x]=1;
if(a[x].pre==x)
break;
x=a[x].pre;
}
}
printf("%d\n",ss);
printf("%d\n",count);
}
return 0;
}