output_description: Print \displaystyle{\sum_{i=1}^N A_i}.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N X M
attempt: N, X, M = map(int, input().split())
  L = []
  L.append(X)
  J = [0 for i in range(M + 1)]
  key = 0
  start = 0
  end = 0
  for i in range(1, M + 2):
      X = (X**2) % M
      L.append(X)
      if J[X] >= 1:
          key = X
          end = i
          break
      J[X] += 1
  for i in range(1, end):
      if L[end - i] == key:
          start = end - i
  A = L[0:start]
  B = L[start:end]
  C = (N - start) // (end - start)
  D = (N - start) % (end - start)
  E = L[start : start + D]
  if N < end:
      print(sum(L[0:N]))
  else:
      print(sum(A) + sum(B) * C + sum(E))
  
problem_description: Statement
  
  Let us denote by f(x, m) the remainder of the Euclidean division of x by m.
  
  Let A be the sequence that is defined by the initial value A_1=X and the
  recurrence relation A_{n+1} = f(A_n^2, M). Find \displaystyle{\sum_{i=1}^N
  A_i}.
samples: [{"input": "6 2 1001", "output": "1369\n    \n\nThe sequence A begins 2,4,16,256,471,620,\\ldots Therefore, the answer is\n2+4+16+256+471+620=1369.\n\n* * *"}, {"input": "1000 2 16", "output": "6\n    \n\nThe sequence A begins 2,4,0,0,\\ldots Therefore, the answer is 6.\n\n* * *"}, {"input": "10000000000 10 99959", "output": "492443256176507"}]