// #define _GLIBCXX_DEBUG // for STL debug (optional) #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long int; using int64 = long long int; template void chmax(T &a, T b) {a = max(a, b);} template void chmin(T &a, T b) {a = min(a, b);} template void chadd(T &a, T b) {a = a + b;} int dx[] = {0, 0, 1, -1}; int dy[] = {1, -1, 0, 0}; const int INF = 1LL << 29; const ll LONGINF = 1LL << 60; const ll MOD = 1000000007LL; int main() { int A, B; cin >> A >> B; int ans = 0; for(int bit=0; bit<(1<<(A+B)); bit++) { int p1 = __builtin_popcount(bit); int p2 = __builtin_popcount(bit ^ ((1<<(A+B))-1)); if(p1 != A or p2 != B) continue; int cand = 0; for(int i=1; i<(A+B); i++) { int c0 = bit >> i & 1; int c1 = bit >> (i-1) & 1; if(c0 != c1) cand++; } chmax(ans, cand); } cout << ans << endl; return 0; }