#include<bits/stdc++.h>
using namespace std;
int n,a[100001],next[100001],u;
long long f[100001],x,y;
void dfs(int i)
{
	for(int j=1;j<=u;j++)
	{
		if(a[j]==i&&f[next[j]]>f[i]+1)
		{
			f[next[j]]=f[i]+1;
			dfs(next[j]);
		}
	}
	return;
}
int main()
{
	int q,w;
	cin>>n>>x>>y;
	for(int i=1;i<n;i++)
	{
		cin>>q>>w;
		a[++u]=q;
		next[u]=w;
		f[i]=9999999999;
	}
	f[n]=9999999999;
	f[x]=0;
	dfs(x);
	cout<<f[y]/2;
	return 0;
}