module String = struct
  include String
  let to_list s = 
    let rec to_list_aux acc = function
      | 0 -> acc
      | n -> to_list_aux (s.[n - 1] :: acc) (n - 1) in
    to_list_aux [] (String.length s)
end

module CharMap = Map.Make (Char)

let () = 
  let h, w = Scanf.scanf "%d %d\n" (fun h w -> h, w) in
  let ass = Array.init h (fun _ -> String.to_list @@ Scanf.scanf "%s\n" (fun as_ -> as_)) in
  Array.fold_left (fun m as_ ->
    List.fold_left (fun m c ->
      CharMap.add c (1 + try CharMap.find c m with Not_found -> 0) m) m as_) CharMap.empty ass
  |> CharMap.bindings
  |> List.fold_left (fun (possible, (fours, twos, ones)) (_, x) ->
      let fours' = min fours (x / 4) in
      let twos' = min twos ((x - 4 * fours') / 2) in
      let ones' = min ones (x - 4 * fours' - 2 * twos') in
      (possible && x - 4 * fours' - 2 * twos' - ones' = 0, (fours - fours', twos - twos', ones - ones')))
    (true, ((h / 2) * (w / 2), (h mod 2) * (w / 2) + (h / 2) * (w mod 2), (h mod 2) * (w mod 2)))
  |> fst
  |> (function true -> "Yes" | false -> "No")
  |> print_endline