#include<bits/stdc++.h>
using namespace std;
int a[110][110],b[110];
int main(){
int n,u,v,x,y,deep=0,wide=0,temp;
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
a[i][j]=100000;
for(int i=1;i<n;i++)
{
cin>>u>>v;
a[u][v]=1;
a[v][u]=2;
a[i][i]=0;
}
a[n][n]=0; //初始化
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)
if(i!=j&&a[i][j]>a[i][k]+a[k][j])
a[i][j]=a[i][k]+a[k][j];//Floyed
for(int i=2;i<=n;i++)
deep=max(deep,a[1][n]);//枚举1到各个点的距离,最后加1输出
for(int i=1;i<=n;i++)//枚举每一层深度
{
temp=0;
for(int j=1;j<=n;j++)
{
if(a[1][j]+1==i)
temp++;
}
wide=max(temp,wide);
}
cin>>x>>y;
cout<<deep+1<<endl;
cout<<wide<<endl;
cout<<a[x][y]<<endl;
return 0;
}