let unmorse = function | ".-" -> 'a' | "-..." -> 'b' | "-.-." -> 'c' | "-.." -> 'd' | "." -> 'e' | "..-." -> 'f' | "--." -> 'g' | "...." -> 'h' | ".." -> 'i' | ".---" -> 'j' | "-.-" -> 'k' | ".-.." -> 'l' | "--" -> 'm' | "-." -> 'n' | "---" -> 'o' | ".--." -> 'p' | "--.-" -> 'q' | ".-." -> 'r' | "..." -> 's' | "-" -> 't' | "..-" -> 'u' | "...-" -> 'v' | ".--" -> 'w' | "-..-" -> 'x' | "-.--" -> 'y' | "--.." -> 'z' | "-----" -> '0' | ".----" -> '1' | "..---" -> '2' | "...--" -> '3' | "....-" -> '4' | "....." -> '5' | "-...." -> '6' | "--..." -> '7' | "---.." -> '8' | "----." -> '9' | ".-.-.-" -> '.' | "..--.." -> '?' | "--..--" -> ',' | "---..." -> ':' | "-.-.-" -> ';' | "-....-" -> '-' | "-..-." -> '/' | "-.--." -> '(' | "-.--.-" -> ')' | ".-..-." -> '"' | ".----." -> '\'' | "-...-" -> '=' | ".-.-." -> '+' | ".-- .-." -> '@' | "/" -> ' ' | _ -> 'x' (* We x out gibberish. *) let _ = let parse_into_chars = Str.split (Str.regexp " +") in let input = read_line () in let pinput = parse_into_chars input in List.iter (fun c -> print_char (unmorse c)) pinput; print_newline ()