#define _GLIBCXX_DEBUG
#include <bits/stdc++.h>
#define rep(i, n) for(ll i = 0; i < (n); ++i)
#define FOR(i, m, n) for(ll i = m; i < (n); i++)
#define all(x) (x).begin(),(x).end()
using namespace std;
typedef long long ll;
using vi = vector<int>;
using vii = vector<vi>;
using pii = pair<int, int>; 
using vl = vector<ll>;
using vll = vector<vl>;
using pll = pair<ll, ll>;

int main() {
    ll A,B;
    cin>>A>>B;

    if(A+B >= 15 && B >= 8){
        cout << 1;
        return 0;
    }
    if(A+B >= 10 && B >= 3){
        cout << 2;
        return 0;
    }
    if(A+B >= 3){
        cout << 3;
        return 0;
    }
    cout << 4;
}
#include<bits/stdc++.h>
using namespace std;
int main(){
  int A, B;
  cin >> A >> B;
  vector<int> ans(A+B);
  if(A == B){
    for(int i=0; i<A; i++){
      ans[i] = i+1;
    }
    for(int i=0; i<B; i++){
      ans[i+A] = -(i+1);
    }
  }
  else if(A > B){
    int sum = 0;
    for(int i=0; i<A; i++){
      ans[i] = i+1;
      sum += ans[i];
    }
    for(int i=0; i<B-1; i++){
      ans[i+A] = -(i+1);
      sum += ans[i+A];
    }
    ans[A+B-1] = -sum;
  }
  else if(A < B){
    int sum = 0;
    for(int i=0; i<A-1; i++){
      ans[i] = i+1;
      sum += ans[i];
    }
    for(int i=0; i<B; i++){
      ans[i+A] = -(i+1);
      sum += ans[i+A];
    }
    ans[A-1] = -sum;
  }
  for(int i=0; i<A+B; i++){
    if(i != A+B-1){
      cout << ans[i] << " ";
    }
    else{
      cout << ans[i] << endl;
    }
  }
}
    