module Main where

main 
  = do x1 <- readFile "test2.sorted"
       let x2 = lines x1
           x3 = zip [1 ..] x2
           x4 = concat (map qq x3)
       --putStr x4
       writeFile "test2.orig" x4


qq :: (Int, String) -> String
qq (n, s0) 
   = let ws     = words s0
         bytes  = head ws
         rest   = unwords (tail ws)
         bytes2 = foo bytes
     in
     unlines [
        "",
        rest,
        ". " ++ show n ++ " 0x12345678 " ++ show (1 + (length bytes `div` 2)),
        ". " ++ bytes2 ++ "C3"
     ]


foo [] = []
foo (x:y:rest) = x:y:' ':foo rest