#include <bits/stdc++.h>
using namespace std;
int main() {
  long long H, W;
  cin >> H >> W;
  if (H % 3 == 0 || W % 3 == 0) {
    cout << 0 << endl;
    return 0;
  }
  long long ans = 1e10;
  ans = min(ans, (H / 3 + 1) * W - (H - H / 3 - 1) * (W / 2));
  ans = min(ans, (W / 3 + 1) * H - (W - W / 3 - 1) * (H / 2));
  ans = min(ans, (H - H / 3) * (W - W / 2) - (H / 3) * W);
  ans = min(ans, (W - W / 3) * (H - H / 2) - (W / 3) * H);
  cout << ans << endl;
  return 0;
}
