let n = read_int ()

let rec factors m a acc =
  if a * a > m then acc
  else if m mod a = 0 then factors m (a + 1) (a :: (m / a) :: acc)
  else factors m (a + 1) acc

let fs = factors (n - 1) 1 [] |> List.length

let rec test m k =
  if m = 0 then false else if m mod k = 0 then test (m / k) k else m mod k = 1

let fn =
  factors n 1 []
  |> List.filter (fun x -> x <> 1)
  |> List.map (test n)
  |> List.fold_left (fun acc x -> if x then acc + 1 else acc) 0

;;
print_int (fs - 1 + fn);
print_newline ()
