-- Try yukicoder -- author: Leonardone @ NEETSDKASU main = interact $ unlines . concat . zipWith ($) [return . show . floor . head, map show . tail] . repeat . solve . map read . words solve (0:0:0:_) = [-1] solve (0:0:_:_) = [0] solve (0:b:c:_) = [1, fromIntegral (-c) / fromIntegral b] solve (a:0:0:_) = [1, 0] solve (a:0:c:_) | e < 0 = [0] | otherwise = [2, - sqrt e, sqrt e] where e = fromIntegral (-c) / fromIntegral a solve (a:b:0:_) | (-b) * a > 0 = [2, 0, fromIntegral (-b) / fromIntegral a] | otherwise = [2, fromIntegral (-b) / fromIntegral a, 0] solve (a:b:c:_) | d < 0 = [0] | d == 0 = [1, fromIntegral (-b) / fromIntegral (2*a)] | d > 0 = [2, (fromIntegral (-b) - sqrt (fromIntegral d)) / fromIntegral (2*a) , (fromIntegral (-b) + sqrt (fromIntegral d)) / fromIntegral (2*a)] where d = b * b - 4 * a * c solve _ = undefined