[<AutoOpen>]
module Program

open System

let read f = stdin.ReadLine() |> f
let reada f = stdin.ReadLine().Split() |> Array.map f
let reads f = stdin.ReadLine().Split() |> Array.toList |> List.map f

let ERR = 1.0 / 1000000.0
let r2d t = t * 180.0 / Math.PI

let solve a b x =
    let rec loop l r =
        if r2d r - r2d l <= ERR then
            l
        else
            let m = (l + r) / 2.0
            let c = b * Math.Tan(Math.PI / 2.0 - m)
            let v =
                if c <= a then
                    a * b * c / 2.0
                else
                    let d = a * a * a * Math.Tan m / 2.0
                    a * a * b - d
            if v < x then
                loop l m
            else
                loop m r
    loop 0.0 (Math.PI / 2.0)
    |> r2d

[<EntryPoint>]
let main _ =
    let [A;B;X] = reads float
    printfn "%.7f" (solve A B X)
    0