(* O(max {n, m}) (n = |xs|) *)
let unique_count m xs = (* m >= xsの最大値, xsは0以上の整数のリスト *)
  let flags = Array.make (m + 1) 0 in
  List.iter (fun x -> flags.(x) <- 1) xs;
  Array.fold_left (+) 0 flags

let kDMax = 100

(* O(n) *)
let solve n ds = unique_count kDMax ds

let fold_int f a n =
  let rec fold f a i n =
    if i >= n then
      a
    else
      fold f (f a i) (i + 1) n
  in
    fold f a 0 n

let read_ints n =
  fold_int
    (fun sofar _ -> read_int () :: sofar)
    []
    n |> List.rev

let _ =
  let n = read_int () in
  let ds = read_ints n in
  solve n ds |> string_of_int |> print_endline