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())
  set_ans = {n}
  for x in range(2, int(n**0.5) + 1):
      if n % x == 0:
          tmp = n
          while tmp % x == 0:
              tmp //= x
          if tmp % x == 1:
              set_ans.add(x)
  for x in range(1, int((n - 1) ** 0.5) + 1):
      if (n - 1) % x == 0:
          if x > 1:
              set_ans.add(x)
          if (n - 1) // x != x:
              set_ans.add((n - 1) // x)
  print(len(set_ans))
  
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"}]