(* Enter your code here. Read input from STDIN. Print output to STDOUT *) let makeList st = let rec mn st n sub xl = if (n < (String.length st)) then ( if (st.[n] = ' ') then (mn st (n+1) "" (sub :: xl)) else (mn st (n+1) (sub ^ (Char.escaped (st.[n]))) xl ) ) else (List.rev (sub :: xl)) in mn st 0 "" [] let countList ll = let rec cn ll res xl = match ll with [] -> List.rev ( res :: xl ) | fst :: rst -> (match res with (a, b) -> if (fst = a) then cn rst (a, b+1) xl else cn rst (fst, 1) (res :: xl) ) in cn ll ("", 0) [] let searchMax ll = let rec sn ll res = match ll with [] -> res | (fa, fb) :: rst -> (match res with (a, b) -> if (fb > b) then sn rst (fa, fb) else sn rst res) in sn ll ("", 0) let printRes xl = match xl with (a, b) -> print_endline a let main = let a = read_int () and b = read_line () in makeList b |> List.sort compare |> countList |> searchMax |> printRes