#include <iostream>
using namespace std;
int main()
{
	long long i=1,j=1,n,m,br=0,top,p1,p2,z1,z2,flag=0;//p1 e i,p2 e j;
	cin>>n>>m;
	while((p1!=0 && p2!=0)|| (p1!=n && p2!=m)||(p1!=n && p2!=0)||(p1!=0 && p2!=m))
	{
			if(p1!=0 && p2!=0){p1=1; p2=1; p1=p1+z1; p2=p2+z2;}
			
			if(flag==0 && p1==n && p2!=m){br++; z1=-1; z2=1; p1=p1+z1; p2=p2+z2; flag=1;}
			//if(flag=0 p1==n && p2!=m){br++; z1=-1; z2=1; p1=p1+z1; p2=p2+z2; flag=1;}
			if(flag==1 && p1==0 && p2!=m){br++; z1=-1; z2=1; p1=p1+z1; p2=p2+z2;flag=2;}
			//if(flag==1 && p1==0 && p2!=m){br++; z1=-1; z2=1; p1=p1+z1; p2=p2+z2;flag=2;}
			if(flag==2 && p1!=n && p2==0){br++; z1=-1; z2=1; p1=p1+z1; p2=p2+z2;flag=3;}
			//if(flag==2 && p1!=n && p2==0){br++; z1=-1; z2=1; p1=p1+z1; p2=p2+z2;flag=3;}
			if(flag==3 && p1==n && p2!=m){br++; z1=-1; z2=1; p1=p1+z1; p2=p2+z2; flag=4;}
			//if(flag==3 && p1!=n && p2==m){br++; z1=1; z2=-1; p1=p1+z1; p2=p2+z2; flag=4;}
			if(flag==4 && p1==0 && p2!=m){br++; z1=1; z2=-1; p1=p1+z1; p2=p2+z2;flag=0;}
			//if(flag==4 && p1!=n && p2==0){br++; z1=-1; z2=1; p1=p1+z1; p2=p2+z2;flag=0;}
			
			if(flag==2 || flag==4){z1=-1; z2=-1; p1=p1+z1; p2=p2+z2;}
	}
	cout<<br<<endl;
	return 0;
}
