import qualified Data.Text as T
import qualified Data.Text.IO as T
import qualified Data.Text.Read as T

main :: IO ()
main = do
  (a : b : x : _) <- map unsafeSignedDecimal . T.words <$> T.getLine :: IO [Double]
  print . (* (180 / pi)) . atan $ if 2 * x <= a ^ 2 * b then (a * b ^ 2) / (2 * x) else 2 * (a ^ 2 * b - x) / (a ^ 3)

unsafeSignedDecimal :: T.Text -> Double
unsafeSignedDecimal s = case T.signed T.decimal s of
  Right (n, _) -> fromIntegral n

