Scanf.scanf "%d" (fun n ->
    let xy = Array.init n (fun _ -> Scanf.scanf " %d %d" (fun x y -> x, y)) in
    Array.sort (fun (x0, y0) (x1, y1) ->
        compare (atan2 (float y0) (float x0)) (atan2 (float y1) (float x1))) xy;
    let rec loop i s cx cy acc =
        if i = n then (
            if s = n then float acc |> sqrt else
                let (x, y) = xy.(s) in
                let bx = cx - x in
                let by = cy - y in
                let b = bx * bx + by * by in
                loop i (s + 1) bx by (max b acc)
        ) else
            let c = cx * cx + cy * cy in
            let (x, y) = xy.(i) in
            let bx = cx + x in
            let by = cy + y in
            let b = bx * bx + by * by in
            if b >= c then loop (i + 1) s bx by (max b acc) else
                let (x, y) = xy.(s) in
                let bx = cx - x in
                let by = cy - y in
                let b = bx * bx + by * by in
                loop i (s + 1) bx by (max b acc)
    in
    loop 0 0 0 0 0 |> Printf.printf "%.10f\n"
)