#include <iostream>
#include <map>
#include <vector>
using namespace std;

long long rec(long long a, long long b) {
    if (a == 1 && b == 1) {
        return 1;
    }
    if (a < b) swap(a, b);
    if (a % 2 == 0) {
        return a * b + 2 * rec(a / 2, b);
    }
    else {
        return a * b + rec(a / 2, b) + rec(a / 2 + 1, b);
    }
}

int main() {
  long long n, m;
  cin >> n >> m;
  cout << rec(n,m);
}