#include using namespace std; #define ll long long map,ll > dp; ll solve(ll n,ll m){ if(n<=0 || m<=0) return 0; if(n==1 && m==1) return 0; if(dp.find(make_pair(n,m))!=dp.end()) return dp[make_pair(n,m)]; if(dp.find(make_pair(m,n))!=dp.end()) return dp[make_pair(m,n)]; return dp[make_pair(n,m)]=max(1+solve(n/2,m)+solve(n-(n/2),m),1+solve(n,m/2)+solve(n,m-(m/2))); } int main(){ ll n,m,ans=0;cin >> n >> m ; cout<