//In the Name of God
//Ya Ali

#include <bits/stdc++.h>

#define int long long

#define err(A) cout << #A << " = " << (A) << endl

using namespace std;

const int maxn = 100100;

int n;

int s, t;

vector<int> g[maxn];

int d[maxn][2];

int ans;

void dfs(int v, int par, int r)
{
  for (int u: g[v])
    if (u != par)
      {
	d[u][r] = d[v][r] + 1;
	dfs(u, v, r);
      }
}

int32_t main()
{
  ios::sync_with_stdio(0); cin.tie(0);

  cin >> n >> t >> s;
  s --, t --;

  for (int i = 0; i < n - 1; i ++)
    {
      int v, u;
      cin >> v >> u;
      v --, u --;
      g[v].push_back(u);
      g[u].push_back(v);
    }

  dfs(s, -1, 0);
  dfs(t, -1, 1);

  for (int i = 0; i < n; i ++)
    if (d[i][0] > d[i][1])
      ans = max(ans, d[i][0] - 1);

  cout << ans << endl;
  
  return 0;
}
