output_description: Print x_{N,1}.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      a_1a_2\ldotsa_N
attempt: import sys
  
  N = int(input())
  S = input().strip()
  ss = []
  for c in S:
      ss.append(int(c))
  if N == 2:
      print(abs(ss[0] - ss[1]))
      sys.exit()
  
  X = []
  X2 = []
  fff = 0
  for i in range(N - 1):
      c = abs(ss[i] - ss[i + 1])
      X.append(c % 2)
      X2.append((c // 2) % 2)
      if c == 1:
          fff = 1
  
  
  N = N - 2
  
  i = 0
  Y = []
  while N:
      if N % 2:
          Y.append(i)
      i += 1
      N = N // 2
  
  C = [0]
  for y in Y[::-1]:
      y = 2**y
      #    print(y)
      tmp = []
      for c in C:
          tmp.append(c + y)
      for t in tmp:
          C.append(t)
  r = 0
  r2 = 0
  for c in C:
      r = r ^ X[c]
      r2 = r2 ^ X2[c]
  if fff:
      print(r)
  else:
      print(r2 * 2)
  
problem_description: Statement
  
  Given is a sequence of N digits a_1a_2\ldots a_N, where each element is 1, 2,
  or 3. Let x_{i,j} defined as follows:
  
    * x_{1,j} := a_j \quad (1 \leq j \leq N)
    * x_{i,j} := | x_{i-1,j} - x_{i-1,j+1} | \quad (2 \leq i \leq N and 1 \leq j \leq N+1-i)
  
  Find x_{N,1}.
samples: [{"input": "4\n    1231", "output": "1\n    \n\nx_{1,1},x_{1,2},x_{1,3},x_{1,4} are respectively 1,2,3,1.\n\nx_{2,1},x_{2,2},x_{2,3} are respectively |1-2| = 1,|2-3| = 1,|3-1| = 2.\n\nx_{3,1},x_{3,2} are respectively |1-1| = 0,|1-2| = 1.\n\nFinally, x_{4,1} = |0-1| = 1, so the answer is 1.\n\n* * *"}, {"input": "10\n    2311312312", "output": "0"}]