#include <bits/stdc++.h>
using namespace std;
int main(){
	long long int n,x;
	cin >> n >> x;
	long long int aux;
	long long int mitad = n/2;	
	long long int mcd;
	long long int aux2;
	if (n%2 == 0){
		if (n%3 ==0){
			
			if (x != mitad){
				
				
				
				mcd = __gcd(n, x);
				
				
				aux=(n-mcd)*3;
				cout << aux << endl;
				
				
				
				
				
			}
			else{
				aux=3*x;
				cout << aux << endl;
			}
			
			
			
			
			
			/*
			if (x < mitad){
				aux=3*(n-1) -3*(x-1);
				cout << aux << endl;
			}
			else if ( x == mitad){
				aux=3*x;
				cout << aux << endl;
			}
			else{
				aux=3*(n-1) -3*(n-x-1);
				cout << aux << endl;
			}*/
						
		}
		else{
			if (x != mitad){
				if (x % 2== 1){
					aux=3*(n-1);
					cout << aux << endl;
				}
				else{
					aux=3*(n-1) -3;
					cout << aux << endl;
				}
			}
			else{
				aux=3*x;
				cout << aux << endl;
			}
		}
	}
	else{
		if (n%3 == 0){
			
			if (x < n/2){
				
				/*aux2 = x;
				mcd = __gcd(n, x);
				
				while (n % mcd != 0){
					mcd = __gcd(n, mcd);
					aux2 = mcd;
				}*/
				mcd = __gcd(n, x);
				
				if (mcd != 1){
					
					aux=(n-mcd)*3;
					cout << aux << endl;
				}
				else{
					aux=(n-1)*3;
					cout << aux << endl;
				}
			}
			else{
				
				/*aux2 = n-x;
				mcd = __gcd(n, n-x);1
				
				while (n % mcd != 0){
					mcd = __gcd(n, mcd);
					aux2 = mcd;
				}*/
				
				mcd = __gcd(n, n-x);
				
				if (mcd != 1){
					aux=(n-mcd)*3;
					cout << aux << endl;
				}
				else{
					aux=(n-1)*3;
					cout << aux << endl;
				}
			}
		}
		else{
			aux=(n-1)*3;
			cout << aux << endl;
		}
		
	}
	
	/*if (n % 2 == 1){
		cout << 3*(n-1) << endl;
	}
	else{
		long long int mitad = n/2;		
		if (x != mitad){
			if (x % 2== 1){
				aux=3*(n-1);
				cout << aux << endl;
			}
			else{
				aux=3*(n-1) -3;
				cout << aux << endl;
			}
		}
		else{
			aux=3*x;
			cout << aux << endl;
		}
		
	}*/
		
	return 0;
}