#include <bits/stdc++.h>
using namespace std;
int main() {
  long long N, M;
  cin >> N >> M;
  if (N > M) swap(N, M);
  if (N >= 3)
    cout << (N * M >> 1 << 1);
  else if (M >= 3) {
    if (N == 1) {
      cout << (M / 6 * 6 + max(0ll, M % 6 - 3) * 2);
    } else {
      long long mx = 0;
      for (long long i = M % 60, rft = 0; i >= 0; i--, rft++) {
        for (long long j = rft, k = 0; j >= 0; j--, k++)
          mx = max(mx,
                   ((i / 6 * 12 + (i % 6 == 3 ? 4 : max(0ll, i % 6 - 3) * 4))) +
                       ((j / 5 * 10 + max(0ll, (j % 5 - 3) * 4 + 2))) +
                       ((k / 4 * 8 + max(0ll, k % 4 - 2) * 4)));
      }
      cout << (M / 60 * 120 + mx);
    }
  } else
    cout << 0;
}
