-- yukicoder My Practice -- author: Leonardone @ NEETSDKASU main = getLine >>= putStrLn . last . flip (scanl (flip ($))) (map ((. replicate 2) . foldl1 . uncurry ((. (. map (splitAt 1 . replicate 2)) . filter . (. fst) . (/=)) . (.) . (((concat .) . map . (. return)) .) . (. flip lookup) . (.) . flip maybe id)) [("0", "o"), ("0", "O"), ("1", "I"), ("1", "l")])