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())
  s = set()
  p = []
  while x not in s:
      s.add(x)
      p += [x]
      x = (x * x) % m
      if len(p) >= n:
          print(sum(p))
          quit()
  r = b = t = v = 0
  a = [0]
  for i in p:
      if i == x:
          b = 1
      r += 1 - b
      t += b * i
      v += i
      a += [a[-1] + i] * b
  l = len(p)
  print(v + t * ((n - l) // (l - r)) + a[(n - l) % (l - r)])
  
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"}]