#include <bits/stdc++.h>
using namespace std;
long long a, b;
int main() {
  cin >> a >> b;
  long long ans = a + b + a + b + 1 + 1;
  long long e = a + b;
  vector<long long> ai;
  vector<long long> bi;
  for (int i = 1; i <= sqrt(a); i++)
    if (a % i == 0) ai.push_back(i);
  for (int j = 1; j <= sqrt(b); j++)
    if (b % j == 0) bi.push_back(j);
  sort(ai.begin(), ai.end());
  sort(bi.begin(), bi.end());
  for (int i = 1; i <= sqrt(e); i++)
    if (e % i == 0) {
      long long j = e / i;
      bool flag = false;
      if (!flag) {
        vector<long long>::iterator it = lower_bound(ai.begin(), ai.end(), i);
        it--;
        if (j >= a / *it) flag = true;
        it = lower_bound(ai.begin(), ai.end(), j);
        it--;
        if (i >= a / *it) flag = true;
      }
      if (!flag) {
        vector<long long>::iterator it = lower_bound(bi.begin(), bi.end(), i);
        it--;
        if (j >= b / *it) flag = true;
        it = lower_bound(bi.begin(), bi.end(), j);
        it--;
        if (i >= b / *it) flag = true;
      }
      if (flag) ans = min(j + j + i + i, ans);
    }
  cout << ans << endl;
  return 0;
}
