#include <bits/stdc++.h>
using namespace std;
template <typename T>
void vprint(T &V) {
  for (auto v : V) {
    cout << v << " ";
  }
  cout << endl;
}
int dx[4] = {-1, 0, 1, 0};
int dy[4] = {0, 1, 0, -1};
const long long mod = 1e9 + 7;
const long long inf = 1e18;
long long f(long long a, long long b) {
  if (a > b) {
    swap(a, b);
  }
  if (a == b) {
    return a;
  } else if (b % a == 0) {
    return (b / a) * 2 - 1;
  } else {
    return 2 * floor((double)b / a) * a + f(a, b % a);
  }
}
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  long long N, X;
  cin >> N >> X;
  cout << (N + f(N - X, X)) << endl;
  return 0;
}
