import Control.Applicative

import Data.List
    (intercalate)
    
import Text.Printf
    (printf)

type Problem
    = (Double, Double, Double)

type Result
    = (Double, Double, Double)

solve :: Problem -> Result

solve (a, b, c)
    = (s, l, h) where
        s = a * h / 2
        l = a + b + len
        h = b * sin rad
        rad = c / 180 * pi
        sub = a - cos rad
        len = sqrt $ sub ** 2 + h ** 2

output :: Result -> String

output (s, l, h)
    = intercalate " " $ map (printf "%.6f") [s, l, h]
    
input :: IO Problem

input
    = do
        [a, b, c] <- map read <$> words <$> getLine
        return (a, b, c)

main :: IO ()

main
    = putStrLn <$> output =<< solve <$> input