#include <bits/stdc++.h>
using namespace std;
const int con = 1e9;
template <typename T>
void gv(vector<T>& a) {
  for (int h = 0; h < a.size(); h++) scanf("%d", &a[h]);
}
void gv(vector<pair<int, int> >& a) {
  int b, c;
  for (int h = 0; h < a.size(); h++) {
    scanf("%d %d", &b, &c);
    a[h].first = b;
    a[h].second = c;
  }
}
void pnt(vector<int> a, int n) {
  for (int h = 0; h < n; h++) cout << a[h] << " ";
  cout << "\n";
}
template <typename T>
void pnt(vector<T> a) {
  if (a.size() == 0) cout << "\n";
  for (int h = 0; h < a.size() - 1; h++) cout << a[h] << " ";
  cout << a.back() << "\n";
}
void pnt(vector<vector<int> > a) {
  for (int h = 0; h < a.size(); h++) pnt(a[h]);
}
int gcd(int a, int b) { return b ? gcd(b, a % b) : a; }
int main() {
  int a, b;
  cin >> a >> b;
  int n = a + b + 1;
  for (int i = n - a - 1; i < n; i++) {
    cout << i + 1 << " ";
  }
  for (int i = n - a - 2; i >= 0; i--) {
    cout << i + 1 << " ";
  }
  cout << "\n";
  return 0;
}
