#include <bits/stdc++.h>
template <class T>
bool chmax(T &a, const T &b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
bool chmin(T &a, const T &b) {
  if (b < a) {
    a = b;
    return 1;
  }
  return 0;
}
using namespace std;
long long rec(long long n, long long x) {
  long long res = 0;
  if (x == 0 || n == x) return 0;
  if (n > 2 * x) {
    long long nn = n % x + x;
    res += rec(nn, x) + 3 * ((n - nn) / x) * x;
  } else if (n < 2 * x) {
    long long nx = x % (n - x);
    res += rec(x, nx) + 3 * (x - nx) / (n - x) * (n - x);
  } else {
    res = 3 * x;
  }
  return res;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  long long n, x;
  cin >> n >> x;
  cout << rec(n, x) << endl;
  return 0;
}
