#include <bits/stdc++.h>
using namespace std;
class TaskC {
 public:
  void solve(istream& in, ostream& out) {
    int n, m;
    in >> n >> m;
    int i = 2;
    while (n || m) {
      if (!m) {
        if (i % 2 == 0) {
          i += (n - 1) * 2;
        } else {
          i += (n - 1) * 2 + 1;
        }
        n = 0;
      } else if (!n) {
        if (i % 3 == 0) {
          i += (m - 1) * 3;
        } else if (i % 3 == 1) {
          i += (m - 1) * 3 + 2;
        } else {
          i += (m - 1) * 3 + 1;
        }
        m = 0;
      } else {
        if (i % 2 == 0 && i % 3 == 0) {
          if ((n)*2 < (m)*3) {
            --m;
          } else {
            --n;
          }
        } else if (i % 2 == 0) {
          --n;
        } else if (i % 3 == 0) {
          --m;
        }
        ++i;
      }
    }
    out << i << endl;
  }
};
int main() {
  std::ios::sync_with_stdio(false);
  TaskC solver;
  std::istream& in(std::cin);
  std::ostream& out(std::cout);
  solver.solve(in, out);
  return 0;
}
