output_description: Print the answers in B+W lines. In the i-th line, print the probability that
  the color of the i-th piece to be eaten is black, modulo 10^{9}+7.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      B W
attempt: B, W = map(int, input().split())
  
  
  def gcd(a, b):
      """
      自然数a, b の最大公約数を求める
      """
      if b == 0:
          return a
      else:
          return gcd(b, a % b)
  
  
  def ExtendedEuclidianAlgorithms(a, b):
      """
      返り値: 自然数a, bの最小公倍数d, ax+by=gcd(a, b)を満たす(x, y)が、
      (d, x, y)のtuple
      d = 1ならxはaの逆元(inverse element)
      """
      d, c1 = a, b
      x0, x1 = 1, 0
      y0, y1 = 0, 1
      while c1 != 0:
          m = d % c1
          q = d // c1
          d, c1 = c1, m
          x0, x1 = x1, (x0 - q * x1)
          y0, y1 = y1, (y0 - q * y1)
      return d, x0, y0
  
  
  def makeTableMod(N, mod=10**9 + 7):
      fac = [1 for i in range(N)]
      finv = [1 for i in range(N)]
      inv = [1 for i in range(N)]
      for i in range(2, N):
          fac[i] = fac[i - 1] * i % mod
          inv[i] = mod - inv[mod % i] * (mod // i) % mod
          finv[i] = finv[i - 1] * inv[i] % mod
      return fac, finv
  
  
  def binomialCoefficient(N, r, mod=10**9 + 7):
      if N < r:
          return 0
      else:
          return fac[N] * (finv[r] * finv[N - r] % mod) % mod
  
  
  fac, finv = makeTableMod(B + W)
  mod = 10**9 + 7
  
  
  def unknown(x, y, mod=10**9 + 7):
      g, a, b = ExtendedEuclidianAlgorithms(x, mod)
      if g != 1:
          raise Exception("modular inverse does not exist")
      else:
          return a * y % mod
  
  
  def plusFraction(frac1, frac2):
      """
      frac: tuple (numerator, denominator)
      """
      b, a = frac1
      d, c = frac2
      g = gcd(a, c)
      nume = b * (c // g) + d * (a // g)
      deno = (a * c) // g
      g = gcd(nume, deno)
      nume //= g
      deno //= g
  
      return (nume, deno)
  
  
  P = [(0, 1)]
  Q = [(0, 1)]
  
  
  for i in range(B + W):
      if i == 0:
          print(500000004)
          continue
      p = plusFraction(P[-1], (binomialCoefficient(i - 1, B - 1, mod), 2**i))
      q = plusFraction(Q[-1], (binomialCoefficient(i - 1, W - 1, mod), 2**i))
      P.append(p)
      Q.append(q)
      b, a = p[1] - p[0], p[1]
      d, c = q
      g = gcd(a, c)
      nume = b * (c // g) + d * (a // g)
      deno = ((a * c) // g) * 2
      g = gcd(nume, deno)
      nume //= g
      deno //= g
      ans = unknown(deno, nume)
      print(ans)
  
problem_description: Statement
  
  Today, Snuke will eat B pieces of black chocolate and W pieces of white
  chocolate for an afternoon snack.
  
  He will repeat the following procedure until there is no piece left:
  
    * Choose black or white with equal probability, and eat a piece of that color if it exists.
  
  For each integer i from 1 to B+W (inclusive), find the probability that the
  color of the i-th piece to be eaten is black. It can be shown that these
  probabilities are rational, and we ask you to print them modulo 10^9 + 7, as
  described in Notes.
samples: [{"input": "2 1", "output": "500000004\n    750000006\n    750000006\n    \n\n  * There are three possible orders in which Snuke eats the pieces:\n    * white, black, black\n    * black, white, black\n    * black, black, white\n  * with probabilities \\frac{1}{2}, \\frac{1}{4}, \\frac{1}{4}, respectively. Thus, the probabilities of eating a black piece first, second and third are \\frac{1}{2},\\frac{3}{4} and \\frac{3}{4}, respectively.\n\n* * *"}, {"input": "3 2", "output": "500000004\n    500000004\n    625000005\n    187500002\n    187500002\n    \n\n  * They are \\frac{1}{2},\\frac{1}{2},\\frac{5}{8},\\frac{11}{16} and \\frac{11}{16}, respectively.\n\n* * *"}, {"input": "6 9", "output": "500000004\n    500000004\n    500000004\n    500000004\n    500000004\n    500000004\n    929687507\n    218750002\n    224609377\n    303710940\n    633300786\n    694091802\n    172485353\n    411682132\n    411682132"}]