import Data.List
mm = "1 2 3 4\n5 6 7 8\n9 10 11 12\n13 14 15 16\n17 18 19 20" -- input
ex [] = []
ex m = (head m) ++ ex (transpose . map reverse . tail $ m)
main = putStrLn . concat . intersperse " " $ ex (mme mm)
where mme m = map reverse $ map words $ lines m