#include<iostream>
using namespace std;
int main(){
	cin.tie(0);
	ios::sync_with_stdio(0);	
	long long redove,koloni,broqch,broqch1,broiMomenti=0,otKudeZapo4nahX=0,otKudeZapo4nahY=0,posokaX=1,posokaY=1;
	bool vleznahLiNqkude=false;
	cin>>redove>>koloni;
	if(redove==koloni){
		broiMomenti=1;
	}else{		
		broqch=0;
		broqch1=0;
		while(broqch<400000){
			broqch=otKudeZapo4nahX;
			broqch1=otKudeZapo4nahY;
			vleznahLiNqkude=false;
			while(broqch1<400000){
				if(broqch1==koloni-1 and broqch==redove-1  and broqch!=otKudeZapo4nahX and broqch1!=otKudeZapo4nahY or 
					broqch==0        and broqch1==0        and broqch!=otKudeZapo4nahX and broqch1!=otKudeZapo4nahY or 
					broqch==0        and broqch1==koloni-1 and broqch!=otKudeZapo4nahX and broqch1!=otKudeZapo4nahY or 
					broqch==redove-1 and broqch1==0        and broqch!=otKudeZapo4nahX and broqch1!=otKudeZapo4nahY){
						
					broqch=400000;
					broqch1=400000;
					broiMomenti++;
					vleznahLiNqkude=true;
				}else{
					if(broqch1==koloni-1 and broqch1!=otKudeZapo4nahY){
						if(posokaX==1 and posokaY==1){
							posokaX=1;
							posokaY=-1;
						}else{
							posokaX=-1;
							posokaY=-1;
						}
						otKudeZapo4nahX=broqch;
						otKudeZapo4nahY=broqch1;
						broiMomenti++;
						broqch1=400000;
						vleznahLiNqkude=true;
					}
					if(broqch1==0 and broqch1!=otKudeZapo4nahY){
						if(posokaX==-1 and posokaY==-1){
							posokaX=-1;
							posokaY=1;
						}else{
							posokaX=1;
							posokaY=1;
						}
						otKudeZapo4nahX=broqch;
						otKudeZapo4nahY=broqch1;
						broiMomenti++;
						broqch1=400000;
						vleznahLiNqkude=true;
					}
					if(broqch==redove-1 and broqch!=otKudeZapo4nahX){
						if(posokaX==1 and posokaY==1){
							posokaX=-1;
							posokaY=1;
						}else{
							posokaX=-1;
							posokaY=-1;							
						}
						otKudeZapo4nahX=broqch;
						otKudeZapo4nahY=broqch1;
						broiMomenti++;
						broqch1=400000;
						vleznahLiNqkude=true;
					}
					if(broqch==0 and broqch!=otKudeZapo4nahX){
						if(posokaX==-1 and posokaY==-1){
							posokaX=1;
							posokaY=-1;
						}else{
							posokaX=1;
							posokaY=1;
						}
						otKudeZapo4nahX=broqch;
						otKudeZapo4nahY=broqch1;
						broiMomenti++;
						broqch1=400000;
						vleznahLiNqkude=true;
					}
				}
				if(vleznahLiNqkude==false){
					broqch+=posokaX;
					broqch1+=posokaY;
				}
			}
		}		
	}
	cout<<broiMomenti<<"\n";
	return 0;
}
