#最大公約数
def gcd(a,b):
    if a==b:
        return b
    elif a%b== 0:
        return b
    else:
        return gcd(b,a%b)

import math

def func(a,b):
    if a<=b :
        if b%a != 0:
            return 2*math.floor(b/a)*a+func(a,b%a)
        else:
            return 2*(math.floor(b/a))*a-a
    else:
        return func(b,a)
N,X = map(int,input().split())

dis =N 
dis += func(N-X,X)
dis1 = 3*(N-gcd(N,X))
print(dis)