#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10, mod = 1e9 + 7;
int ans[N], fc[N], ifc[N], n, b, w, eb[N], ew[N];
int power(int a, int b) {
	if (!b)
		return 1;
	int rtr = power(a, b / 2);
	if (b % 2)
		return 1ll * rtr * rtr % mod * a % mod;
	return 1ll * rtr * rtr % mod;
}
void getFc() {
	fc[0] = ifc[0] = 1;
	for (int i = 1; i < N - 5; i++) {
		fc[i] = 1ll * fc[i - 1] * i % mod;
		ifc[i] = 1ll * ifc[i - 1] * power(i, mod - 2) % mod;
	}
	return;
}
int ch(int x, int y) {
	if (x > y)
		return 0;
	return 1ll * fc[y] * ifc[x] % mod * ifc[y - x] % mod;
}
int main() {
	getFc();
	cin >> b >> w;
	n = b + w;
	for (int i = 1; i <= n; i++)
		ew[i] = (1ll * ew[i - 1] + 1ll * (ch(w - 1, i - 1)) * power(power(2, i), mod - 2) % mod) % mod;
	for (int i = 1; i <= n; i++) 
		eb[i] = (1ll * eb[i - 1] + 1ll * (ch(b - 1, i - 1)) * power(power(2, i), mod - 2) % mod) % mod;
	for (int i = 1; i <= n; i++)
		ans[i] = (ew[i - 1] + 1ll * ((1 - eb[i - 1] - ew[i - 1]) % mod + mod) % mod  * power(2, mod - 2) % mod) % mod;
	for (int i = 1; i <= n; i++) {
		cout << ans[i] << endl;
	}
	return 0;
}
