output_description: Print the base -2 representation of N.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
attempt: n = int(input())
  
  dp = [0] * 40
  
  if n == 0:
      print(0)
  
  elif n > 0:
      x = bin(n)
      bx = x[2:]
      lx = len(bx)
      for i in range(lx - 1, -1, -1):
          dp[i] = int(bx[lx - 1 - i])
      for i in range(40):
          if i % 2 == 1 and dp[i] == 1:
              dp[i + 1] += 1
      while max(dp) > 1:
          for i in range(40):
              if dp[i] >= 2:
                  dp[i] -= 2
                  if dp[i + 1] > 0:
                      dp[i + 1] -= 1
                  else:
                      dp[i + 1] += 1
                      dp[i + 2] += 1
      dpr = list(reversed(dp))
      dprs = list(map(lambda x: str(x), dpr))
      dprj = "".join(dprs)
      print(int(dprj))
  
  else:
      x = bin(n)
      bx = x[2:]
      lx = len(bx)
      for i in range(lx - 1, -1, -1):
          dp[i] = int(bx[lx - 1 - i])
      for i in range(40):
          if i % 2 == 1 and dp[i] == 1:
              dp[i + 1] += 1
      while max(dp) > 1:
          for i in range(40):
              if dp[i] >= 2:
                  dp[i] -= 2
                  if dp[i + 1] > 0:
                      dp[i + 1] -= 1
                  else:
                      dp[i + 1] += 1
                      dp[i + 2] += 1
      dpr = list(reversed(dp))
      dprs = list(map(lambda x: str(x), dpr))
      dprj = "".join(dprs)
      print(int(dprj))
  
problem_description: Statement
  
  Given an integer N, find the base -2 representation of N.
  
  Here, S is the base -2 representation of N when the following are all
  satisfied:
  
    * S is a string consisting of `0` and `1`.
    * Unless S = `0`, the initial character of S is `1`.
    * Let S = S_k S_{k-1} ... S_0, then S_0 \times (-2)^0 + S_1 \times (-2)^1 + ... + S_k \times (-2)^k = N.
  
  It can be proved that, for any integer M, the base -2 representation of M is
  uniquely determined.
samples: [{"input": "-9", "output": "1011\n    \n\nAs (-2)^0 + (-2)^1 + (-2)^3 = 1 + (-2) + (-8) = -9, `1011` is the base -2\nrepresentation of -9.\n\n* * *"}, {"input": "123456789", "output": "11000101011001101110100010101\n    \n\n* * *"}, {"input": "0", "output": "0"}]