import Control.Arrow safeTail :: [a] -> [a] safeTail [] = [] safeTail (_:xs) = xs floyd :: [a] -> [a] -> ([a], [a]) floyd xs [] = ([], xs) floyd (x:xs) (_:ys) = first (x:) $ floyd xs (safeTail ys) split :: [a] -> ([a], [a]) split xs = floyd xs xs main = do
Standard input is empty