use std::io::{self, BufRead};

fn main() {
    let stdin = io::stdin();
    let mut lines = stdin.lock().lines();
    let n_u_v = lines.next().unwrap().unwrap();
    let mut n_u_v = n_u_v.split_whitespace();
    let n = n_u_v.next().unwrap().parse::<usize>().unwrap();
    let u = n_u_v.next().unwrap().parse::<usize>().unwrap();
    let v = n_u_v.next().unwrap().parse::<usize>().unwrap();
    let mut vertices: Vec<Vec<usize>> = vec![vec![]; n + 1];
    for _ in 1..n {
        let a_b = lines.next().unwrap().unwrap();
        let mut a_b = a_b.split_whitespace();
        let a = a_b.next().unwrap().parse::<usize>().unwrap();
        let b = a_b.next().unwrap().parse::<usize>().unwrap();
        vertices[a].push(b);
        vertices[b].push(a);
    }

    let mut takahashi: Vec<usize> = vec![u];
    let mut is_takahashi: Vec<bool> = vec![false; n + 1];
    is_takahashi[u] = true;

    let mut aoki: Vec<usize> = vec![v];
    let mut is_aoki: Vec<bool> = vec![false; n + 1];
    is_aoki[v] = true;

    let mut ans = 0;
    while !takahashi.is_empty() {
        let mut next_takahashi: Vec<usize> = vec![];
        for &t in takahashi.iter() {
            is_takahashi[t] = false;
            for &next_t in vertices[t].iter() {
                if !is_aoki[next_t] {
                    is_takahashi[next_t] = true;
                    next_takahashi.push(next_t);
                }
            }
        }
        takahashi = next_takahashi;

        if takahashi.is_empty() {
            break;
        }

        let mut next_aoki: Vec<usize> = vec![];
        for &a in aoki.iter() {
            is_aoki[a] = false;
            for &next_a in vertices[a].iter() {
                is_aoki[next_a] = true;
                next_aoki.push(next_a);
                if is_takahashi[next_a] {
                    is_takahashi[next_a] = false;
                    let index = takahashi.iter().position(|&x| x == next_a).unwrap();
                    takahashi.remove(index);
                }
            }
        }
        aoki = next_aoki;

        ans += 1;
    }

    println!("{}", ans);
}
