open Batteries

let scan fmt f =
  Scanf.sscanf (read_line ()) fmt f

let scan_list cnv =
  read_line ()
  |> String.split_on_char ' '
  |> List.map cnv

let scan_array n m e conv =
  let arr = Array.make_matrix n m e in
  Enum.Labels.iter (0 --^ n)
    ~f:(fun i -> arr.(i) <- Array.of_list @@ scan_list conv);
  arr

let rec zip xs ys =
  match xs, ys with
  | [], _ -> []
  | _, [] -> []
  | x::xs, y::ys ->
    (x, y) :: zip xs ys

let dbg x = Printf.eprintf "[debug]%s\n" @@ dump x; x

let n = scan "%d" identity
let s = scan "%s" identity

let () =
  Enum.Labels.map (0 --^ 1000)
    ~f:(fun i ->
        let d = String.to_list @@ Printf.sprintf "%03d" i in
        let (result, _) = List.Labels.fold_left d
            ~init:(true, 0) ~f:(fun (b, i) c ->
                if b then
                  let e = String.of_char c in
                  match String.Exceptionless.find_from s i e with
                  | Some i -> (true, i+1)
                  | None -> (false, i)
                else (false, i))
        in
        if result then 1 else 0)
  |> Enum.sum
  |> Printf.printf "%d\n"
