volTorus :: [Double] -> Double volTorus (rin : rout : _) = 2 * pi * pi * rmin * rmin * rmax where rmin = rout / 2 - rin / 2 rmax = rout / 2 + rin / 2 main :: IO () main = do c <- readLn print . (*) c . volTorus . map read . words =<< getLine