#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
long mod=1e9+7,B,W,fac[2<<17],inv[2<<17];
long power(long a,long b){return b?power(a*a%mod,b/2)*(b%2?a:1)%mod:1;}
long C(long a,long b){return fac[a]*inv[a-b]%mod*inv[b]%mod;}
int main()
{
	cin>>B>>W;
	fac[0]=inv[0]=1;
	for(int i=1;i<2<<17;i++)fac[i]=fac[i-1]*i%mod;
	inv[(2<<17)-1]=power(fac[(2<<17)-1],mod-2);
	for(int i=(2<<17)-1;--i;)inv[i]=inv[i+1]*(i+1)%mod;
	long L=0,R=0,p=1,q=1;
	for(int i=0;i<B+W;i++)
	{
		if(i>=B)
		{
			L=L*2-(i>B)*C(i-1,i-1-B)+C(i,i-B);
			L=(L%mod+mod)%mod;
		}
		if(i>=W)
		{
			R=R*2-(i>W)*C(i-1,i-1-W)+C(i,i-W);
			R=(R%mod+mod)%mod;
		}
		cout<<(p-L+R+mod)%mod*inv[2]%mod*q%mod<<endl;
		p=p*2%mod;q=q*inv[2]%mod;
	}
}