#include<bits/stdc++.h>
using namespace std;
typedef long long int lli;
typedef long int li;
typedef long long ll;
typedef long double ld;
typedef vector<lli> vlli;
typedef vector<li> vli;
typedef vector<int> vi;
typedef vector<ld> vld;
#define all(x) (x).begin(),(x).end()
lli MOD=1e9+7;

/*vlli fun(lli q)
{
    vlli ret;
    for(lli i = 2; i*i <= q; i++)
    {
        if( q % i==0)
        {
            if(i<=q/i)
            {
                ret.push_back(i);
                break;
            }
            else
                break;
        }

    }
    sort(ret.rbegin(),ret.rend());

    return ret;
}*/
/*int prime(int a)
{
    for(lli i=2; i<=sqrt(a); i++)
    {
        if(a%i==0)
            return 0;
    }
    return 1;
}*/
/*
lli fac[300001] ;

lli power(lli x, lli y, lli MOD)
{
    if(y == 0) return 1 ;
    lli p = power(x, y/2, MOD) % MOD ;
    p = (p * p) % MOD ;
    return (!(y & 1))? p : (x * p) % MOD ;
}
lli modInverse(lli a, lli MOD)
{
    return power(a, MOD - 2, MOD) ;
}
lli nCr(lli n,lli r)
{
    if(n < r) return 0 ;
    else if(r == 0) return 1 ;
    lli ret{fac[n]%MOD} ;
    ret *= modInverse(fac[r], MOD) ;
    ret %= MOD ;
    ret *= modInverse(fac[n-r], MOD) ;
    ret %= MOD ;
    return ret ;
}*/
/*lli n=50000000;/range of number;
vlli c;
void sieve()
{
    vector<bool>is_prime(n+1,true);
    for(lli i=2; i<=n; i++)
    {
        if(is_prime[i]==true)
        {
            is_prime[i]=false;
            c.push_back(i);

            for(lli j=i*i; j<=n; j+=i)
            {
                is_prime[j]=false;

            }
        }
    }
}
*/
int main()
{
    cin.tie(nullptr)->sync_with_stdio(false) ;
    lli t{1};
    //cin >> t;
    cout<<setprecision(15);
    /*fac[0] = 1;
    for(lli i{1} ; i <= 300000 ; i++)
        fac[i] = (fac[i-1]*i)%MOD ;*/
    while(t--)
    {
        lli a{},b{};
        cin >> a >> b;
        lli sum{};
        for(lli i = 1; i<a; i++)
        {
            cout << i<<" ";
            sum+=i;
        }
        cout <<  100000000<<" ";
        sum+=100000000;
        for(lli i=1; i <=b-1; i++)
        {
            cout << -i << " ";
            sum-=(i);
        }
        cout << (-sum);
    }


    return 0;
}

#include<bits/stdc++.h>
using namespace std;
int ans[3000];
int a,b;
void work(){
	int tot=0;

	if(a==b){
		for(int i=1;i<=a;i++)ans[++tot]=i,ans[++tot]=-1*i;
		return ;
	}
	if(a>b){
		int	fro=1001,sum=0;
		while(a>b){
			ans[++tot]=fro++;
			sum+=ans[tot];
			a--;
		}
		ans[++tot]=fro++;
		sum+=ans[tot];
		a--;
		ans[++tot]=-1*sum;
		b--;
	}
	else{
		int	en=-1001,sum=0;
		while(b>a){
			ans[++tot]=en--;
			sum+=ans[tot];
			b--;
		}
		ans[++tot]=en--;
		sum+=ans[tot];
		b--;
		ans[++tot]=-1*sum;
		a--;
	}
	for(int i=1;i<=a;i++)ans[++tot]=i,ans[++tot]=-1*i;
}
int main(){
	
	scanf("%d%d",&a,&b);
	int len=a+b;
	work();
	for(int i=1;i<len;i++)printf("%d ",ans[i]);
		cout<<ans[len]<<endl;
	return 0;
}