#include <algorithm>
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <math.h>
#include <queue>
#include <map>
#include <set>
#define prt printf
#define ll long long
#define int __int128
#define spc prt(" ")
#define ent prt("\n")
#define pr_ prt("---")
#define prx prt("***")
#define prtn (putchar('N') , putchar('o'))
#define prty (putchar('Y') , putchar('e') , putchar('s'))
using namespace std;
int read(){
int f = 1 , k = 0;
char c = getchar();
while(c < '0' || c > '9'){
if(c == '-') f = -1;
c = getchar() ;
}
while(c >= '0' && c <= '9'){
k = (k << 3) + (k << 1) + (c ^ 48);
c = getchar() ;
}
return (f == 1 ? k : -k);
}
void output(int now){
if(now < 0){
putchar('-');
output(- now);
}
else{
if(now > 9) output(now / 10);
putchar((now % 10) ^ 48);
}
}
signed main(){int A = read() , B = read() , ans = 0 , l = -1 , r = 1; for(int i=1 ; i<=100 ; i++) r *= 2 , l *= 2; while(l < r) { int mid = (l + r) >> 1 ; if(mid > A + B) ans = mid , r = mid - 1 ; else ans = mid , l = mid + 1 ;} return output(ans) , ent , 0 ;}