output_description: Print the integers contained in the boxes A, B, and C, in this order, with
  space in between.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      X Y Z
attempt: import collections
  
  
  def prime_factorize(n):
      a = []
      while n % 2 == 0:
          a.append(2)
          n //= 2
      f = 3
      while f * f <= n:
          if n % f == 0:
              a.append(f)
              n //= f
          else:
              f += 2
      if n != 1:
          a.append(n)
      return a
  
  
  # N-1の約数を数える
  N = int(input())
  factor = collections.Counter(prime_factorize(N - 1))
  K = 1
  for i in list(factor.values()):
      K *= i + 1
  K -= 1
  for f in range(2, int(N**0.5) + 1):
      n = N
      if n % f != 0:
          continue
      while n % f == 0:
          n //= f
      if n % f == 1 or n == 1:
          K += 1
  # 最後は自分自身を加える。
  K += 1
  print(K)
  
problem_description: Statement
  
  We have three boxes A, B, and C, each of which contains an integer.  
  Currently, the boxes A, B, and C contain the integers X, Y, and Z,
  respectively.  
  We will now do the operations below in order. Find the content of each box
  afterward.
  
    * Swap the contents of the boxes A and B
    * Swap the contents of the boxes A and C
samples: [{"input": "1 2 3", "output": "3 1 2\n    \n\nAfter the contents of the boxes A and B are swapped, A, B, and C contain 2, 1,\nand 3, respectively.  \nThen, after the contents of A and C are swapped, A, B, and C contain 3, 1, and\n2, respectively.\n\n* * *"}, {"input": "100 100 100", "output": "100 100 100\n    \n\n* * *"}, {"input": "41 59 31", "output": "31 41 59"}]