#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
const int INF = 1e9;
const int N = 1e7 + 5;
long long qpow(long long a, long long b) {
  long long ret = 1;
  while (b) {
    if (b & 1) ret = ret * a % MOD;
    a = a * a % MOD;
    b >>= 1;
  }
  return ret;
}
inline void up(int& a, int b) {
  a += b;
  if (a >= MOD) a -= MOD;
  if (a < 0) a += MOD;
}
long long p1[N], p2[N];
int main() {
  long long a, b;
  cin >> a >> b;
  long long s = a + b;
  int l1 = 0, l2 = 0;
  for (long long i = 1; i * i <= a; i++)
    if (a % i == 0) {
      p1[l1++] = a / i;
    }
  for (long long i = 1; i * i <= b; i++)
    if (b % i == 0) {
      p2[l2++] = b / i;
    }
  long long k = sqrt(s + 1);
  if (k * k > s) --k;
  long long ans = 0;
  for (long long i = k; i; i--)
    if (s % i == 0) {
      long long j = s / i;
      while (a / p1[l1 - 1] > i) --l1;
      while (b / p2[l2 - 1] > i) --l2;
      if (p1[l1 - 1] <= j || p2[l2 - 1] <= j) {
        ans = (i + j) * 2;
        break;
      }
    }
  assert(ans);
  cout << ans;
  return 0;
}
