-import Data.List
-import Data.List.Split
+module Main(main) where
+
+import Data.List (transpose, sort)
+import Data.List.Split (splitOn, chunksOf)
type Triple = [Integer]
parseLine :: String -> Triple
parseLine = map (read) . filter (not . null) . splitOn " "
+validTriangle :: Triple -> Bool
validTriangle triple = sortedTriple!!0 + sortedTriple!!1 > sortedTriple!!2
where sortedTriple = sort triple
-byColumns triangles = chunksOf 3 $ concat $ transpose triangles
+byColumns :: [[Integer]] -> [Triple]
+byColumns = chunksOf 3 . concat . transpose