module String = struct include String (* @since 4.02.0 *) let init n f = let s = String.create n in for i = 0 to n - 1 do s.[i] <- f i done; s let rev str = let n = String.length str in init n (fun i -> str.[n - 1 - i]) let to_list str = let rec doit i acc = if i < 0 then acc else doit (i - 1) (String.get str i :: acc) in doit (String.length str - 1) [] let fold_left f init str = let n = String.length str - 1 in let rec doit i acc = if i > n then acc else doit (i + 1) (f acc str.[i]) in doit 0 init end let () = read_line () |> String.rev |> String.map (fun c -> if c = '<' then '>' else '<') |> print_endline