#include <bits/stdc++.h>
using namespace std;
long long doe, n, ans;
void dfs(long long x, long long y) {
  if (x % y == 0) {
    ans += (x * 2 - y);
    return;
  }
  ans += (x / y) * y * 2;
  dfs(y, x % y);
}
int main() {
  scanf("%lld%lld", &n, &doe);
  if (doe * 2 == n) {
    printf("%lld\n", doe * 3);
    return 0;
  }
  if (doe * 2 > n) {
    ans += n;
    dfs(doe, n - doe);
    printf("%lld\n", ans);
  } else {
    ans += (n + doe * 2);
    long long x = doe;
    long long y = n - doe * 2;
    if (y > x) swap(x, y);
    dfs(x, y);
  }
  printf("%lld\n", ans);
  return 0;
}
