#include <bits/stdc++.h>
using namespace std;
int isosceles(int a, int b, int sum);
int parallel(int a, int b, int sum);
int isosceles(int a, int b, int sum) {
  if (a != b) {
    return parallel(a, b, sum + b);
  } else {
    return sum + 2 * a;
  }
}
int parallel(int a, int b, int sum) {
  if (a > b) {
    if (a % b != 0) {
      return parallel(b, a - b * (a / b), sum + 2 * b * (a / b));
    } else {
      return sum + b * (2 * a / b - 1);
    }
  } else if (a < b) {
    if (b % a != 0) {
      return parallel(a, b - a * (b / a), sum + 2 * a * (b / a));
    } else {
      return sum + a * (2 * b / a - 1);
    }
  } else {
    return sum + 2 * a;
  }
}
int main() {
  int n, x;
  cin >> n >> x;
  cout << isosceles(x, n - x, x) << endl;
  return 0;
}
