#include<iostream>
#include<cmath>
using namespace std;
long long n,m;
void read()
{
    cin>>n>>m;
}
int main()
{
    long long x,br=0;
    read();
    if(n>m)swap(n,m);
    x=min(m-n,n);
    br=x;
    m-=2*x;
    n-=x;
    
    while((n>1&&m>1)||(n>=1&&m>1)||(m>=1&&n>1))
    {
        if(n>=m)n--;
        else
        m--;
        n--;
        m--;
        br++;
    }
    br+=(n/3)*2;
    n-=(n/3)*2;
    br+=(n/3)*2;
    n-=(n/3)*2;
    /*while((n>1&&m>1)||(n>=1&&m>1)||(m>=1&&n>1))
    {
        if(n>=m)n--;
        else
        m--;
        n--;
        m--;
        br++;
    }*/
    cout<<br*2<<endl;
    return 0;
}