Scanf.scanf "%d" (fun n ->
    let nei = Array.make n [] in
    for i = 1 to n - 1 do
        Scanf.scanf " %d %d" (fun a b ->
            let a = a - 1 in
            let b = b - 1 in
            nei.(a) <- b :: nei.(a);
            nei.(b) <- a :: nei.(b);
        )
    done;

    let radius =
        let calc start =
            let rec loop len next last = function
                | [] -> if next <> [] then loop (len + 1) [] last next else last, len
                | (cur, par) :: tl ->
                        let next = 
                            List.fold_left (fun next v ->
                                if v = par then next else (v, cur) :: next) next nei.(cur)
                        in
                        loop len next cur tl
            in
            loop 0 [] start [ start, -1 ]
        in
        let (farest, k1 ) = calc 0 in
        let (k2, radius) = calc farest in
        radius
    in
    print_endline @@ if radius mod 3 = 1 then "Second" else "First"
)