#include <cstdio>
#include <algorithm>
using namespace std;

int a,b,pi[233333],pp[233333][2],pf[233333],pl[233333];

int sou(int k,int f,int d)
{
	int i=pi[k],dd; pf[k]=f; pl[k]=1;
	if(k==a) dd=d; else dd=0;
	while(i!=0)
	{
		if(pp[i][0]!=f)
		{
			dd=max(dd,sou(pp[i][0],k,d+1));
			pl[k]=max(pl[k],pl[pp[i][0]]+1);
		}
		i=pp[i][1];
	}
	return dd;
}

int main()
{
	int n; scanf("%d%d%d",&n,&a,&b);
	for(int i=1,j=0; i<n; i++)
	{
		int x,y; scanf("%d%d",&x,&y);
		pp[++j][0]=y; pp[j][1]=pi[x]; pi[x]=j;
		pp[++j][0]=x; pp[j][1]=pi[y]; pi[y]=j;
	}
	int d=sou(b,0,1),t=d%2;
	d=d/2-1;
	for(int i=1; i<=d; i++) a=pf[a];
	printf("%d",pl[a]-1+d+t);
	return 0;
}