#include <bits/stdc++.h>
using namespace std;
int min(int x, int y) {
  if (y < x)
    return y;
  else
    return x;
}
int max(int x, int y) {
  if (y > x)
    return y;
  else
    return x;
}
int fact(int x) {
  int i = 1;
  for (int j = 0; j < ((int)x); j++) {
    i *= (j + 1);
  }
  return i;
}
long long fact(long long x) {
  long long i = 1;
  for (int j = 0; j < ((int)x); j++) {
    i *= (j + 1);
  }
  return i;
}
int gcd(int x, int y) {
  int large = max(x, y), small = min(x, y);
  if (large % small == 0) {
    return small;
  } else {
    return gcd(large % small, small);
  }
}
int n, m;
long long max1, max2;
int main() {
  cin >> n >> m;
  cout << 3 * (n - gcd(n, m)) << endl;
  return 0;
}
