output_description: For each find operation, print the value.
input_description: n q
      query1
      query2
      :
      queryq
      
  
  In the first line, n (the number of elements in A) and q (the number of
  queries) are given. Then, _i_ th query queryi is given in the following
  format:
  
      
      
      0 s t x 
      
  
  or
  
      
      
      1 i
      
  
  The first digit represents the type of the query. '0' denotes update(s, t, x)
  and '1' denotes find(i).
attempt: import sys
  
  INF = 2**31 - 1
  
  
  class RUQ:
  
      def __init__(self, n):
          tmp = 1
          while tmp < n:
              tmp *= 2
          self.n = tmp * 2
          self.A = [INF] * (2 * self.n - 1)
  
      def update(self, a, b, x=-1, k=0, l=0, r=0):
          if r <= a or b <= l:
              return
          if a <= l and r <= b:
              if x >= 0:
                  self.A[k] = x
              return
          if self.A[k] != INF:
              self.A[k * 2 + 1] = self.A[k * 2 + 2] = self.A[k]
          self.A[k] = INF
          self.update(a, b, x, k * 2 + 1, l, (l + r) / 2)
          self.update(a, b, x, k * 2 + 2, (l + r) / 2, r)
  
  
  line = sys.stdin.readline()
  n, q = map(int, line.split())
  ruq = RUQ(n)
  for i in range(q):
      line = sys.stdin.readline()
      if line[0] == "0":
          com, s, t, x = map(int, line.split())
          ruq.update(s, t + 1, x, 0, 0, ruq.n)
      else:
          com, i = map(int, line.split())
          ruq.update(i, i + 1, -1, 0, 0, ruq.n)
          print(ruq.A[i + ruq.n - 1])
  
problem_description: Range Update Query (RUQ)
  
  Write a program which manipulates a sequence A = {a0, a1, . . . , an−1} with
  the following operations:
  
    * update(s, t, x): change as, as+1, ..., at to x.
    * find(i): output the value of ai.
  
  Note that the initial values of ai (i = 0, 1, . . . , n−1) are 231-1.
samples: [{"input": "3 5\n    0 0 1 1\n    0 1 2 3\n    0 2 2 2\n    1 0\n    1 1", "output": "1\n    3"}, {"input": "1 3\n    1 0\n    0 0 0 5\n    1 0", "output": "2147483647\n    5"}]