import Control.Applicative import Control.Monad import Data.List.Split (chunksOf) import Text.Printf main :: IO () main = do getLine solve <$> chunksOf 7 <$> map (map read <$> words) <$> lines <$> getContents >>= mapM_ (printf "%f\n") solve :: [[[Double]]] -> [Double] solve = map f where f = minimum . filter (> 0) . map ang . filter (\[x, y] -> x < 0 && y > 0) . tail ang :: [Double] -> Double ang [x, _] = 180.0 * acos x / pi - 120.0