output_description: Print the number of ways for the knight to reach (X, Y) from (0, 0), modulo
  10^9 + 7.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      X Y
attempt: x, y = int(input()), int(input())
  xans = x // 2
  ans, m, j, k = 0, 1, 1, 1
  for i in range(xans):
      if y == (xans - i) * 2 + i:
          m = 1
          for l in range(1, i + 1):
              m *= l
          k = 1
          for l in range(1, xans - i + 1):
              k *= l
          j = 1
          for l in range(1, xans + 1):
              j *= l
      ans += j / m / k
  if y == 2 * x:
      ans += 1
  ans = ans // 1
  print(int(ans % 1000000007))
  
problem_description: Statement
  
  There is a knight - the chess piece - at the origin (0, 0) of a two-
  dimensional grid.
  
  When the knight is at the square (i, j), it can be moved to either (i+1,j+2)
  or (i+2, j+1).
  
  In how many ways can the knight reach the square (X, Y)?
  
  Find the number of ways modulo 10^9 + 7.
samples: [{"input": "3 3", "output": "2\n    \n\nThere are two ways: (0,0) \\to (1,2) \\to (3,3) and (0,0) \\to (2,1) \\to (3,3).\n\n* * *"}, {"input": "2 2", "output": "0\n    \n\nThe knight cannot reach (2,2).\n\n* * *"}, {"input": "999999 999999", "output": "151840682\n    \n\nPrint the number of ways modulo 10^9 + 7."}]