output_description: Print the number of choices of K in which N becomes 1 in the end.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
attempt: N = int(input())
  import math
  
  lists = []
  listT = []
  t = 2
  T = 0
  n = N - 1
  p = 1
  while t <= math.sqrt(N):
      if n % t == 0:
          T = T + 1
          n = n // t
          p = p * t
          lists.append(t)
          if n == 1:
              listT.append(T)
              break
      else:
          t = t + 1
          if T != 0:
              listT.append(T)
              T = 0
  if p == 1:
      lists.append(1)
      lists.append(N)
      listT = [1]
  elif n != 1:
      lists.append(n)
      listT.append(1)
  
  
  def prod(lista):
      p = 1
      for i in range(10000):
          try:
              p = p * (lista[i] + 1)
          except IndexError:
              return p - 1
  
  
  A = prod(listT) + 2
  print(A)
  
problem_description: Statement
  
  Given is a positive integer N.
  
  We will choose an integer K between 2 and N (inclusive), then we will repeat
  the operation below until N becomes less than K.
  
    * Operation: if K divides N, replace N with N/K; otherwise, replace N with N-K.
  
  In how many choices of K will N become 1 in the end?
samples: [{"input": "6", "output": "3\n    \n\nThere are three choices of K in which N becomes 1 in the end: 2, 5, and 6.\n\nIn each of these choices, N will change as follows:\n\n  * When K=2: 6 \\to 3 \\to 1\n  * When K=5: 6 \\to 1\n  * When K=6: 6 \\to 1\n\n* * *"}, {"input": "3141", "output": "13\n    \n\n* * *"}, {"input": "314159265358", "output": "9"}]