#include<bits/stdc++.h>
using namespace std;
int n,a[105][2],x,y,d[105],f[105],yxy[105];
struct aaa{
int l,r;
}b[105];
void jianshu(int k,int s){
if(k==0||f[k]==1){
return;
}
d[k]=s;
for(int i=1;i<=n-1;i++){
if(b[i].l==k&&!f[b[i].r]){
if(a[k][0]!=0){
a[k][1]=b[i].r;
} else{
a[k][0]=b[i].r;
}
}else if(b[i].r==k&&!f[b[i].l]){
if(a[k][0]!=0){
a[k][1]=b[i].l;
} else{
a[k][0]=b[i].l;
}
}
}
f[k]=1;
jianshu(a[k][0],s+1);
jianshu(a[k][1],s+1);
}
int main(){
cin>>n;
for(int i=1;i<=n-1;i++){
cin>>b[i].l>>b[i].r;
}
cin>>x>>y;
jianshu(1,0);
int zxc=0;
for(int i=1;i<=n;i++){
zxc=max(zxc,d[i]+1);
yxy[d[i]]++;
}
int qwe=0;
for(int i=0;i<=n;i++){
qwe=max(qwe,yxy[i]);
}
cout<<zxc<<"\n"<<qwe<<"\n"<<d[x]*2+d[y];
return 0;
}