import qualified Data.ByteString.Char8 as BS
import qualified Data.Maybe as Maybe
import qualified Debug.Trace as Trace

degree :: Double -> Double
degree r = (360.0 * r) / (2 * pi)

solve :: Double -> Double -> Double -> Double
solve a b x
    | (a * b) / 2 > x = 90.0 - degree (atan (x / (a * b * b)))
    | otherwise = 90.0 - degree (atan ((a * a * a) / (2 * ((a * a * b) - x))))

main = do
    [a, b, x] <- map (fst . Maybe.fromJust . BS.readInt) . BS.words <$> BS.getLine
    let ans = solve (fromIntegral a) (fromIntegral b) (fromIntegral x)
    print ans