#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1000000007;
string alp = "abcdefghijklmnopqrstuvwxyz";
template <class T>
inline bool chmin(T &a, T b) {
  if (a > b) {
    a = b;
    return true;
  }
  return false;
}
template <class T>
inline bool chmax(T &a, T b) {
  if (a < b) {
    a = b;
    return true;
  }
  return false;
}
long long ref(long long x, long long y) {
  if (x == 0 || y == 0) {
    return 0;
  }
  if (y % x == 0) {
    return (y / x * 3 - 1) * x;
  }
  if (x > y) {
    return x + x / y * 2 * y + ref(x % y, y);
  }
  return 2 * y + y / x * x + ref(x - y % x, y % x);
}
int main() {
  long long N, X;
  cin >> N >> X;
  long long ans = X + ref(X, N - X);
  cout << ans << endl;
}
