#include <iostream>
#include <iomanip>
#include <vector>
#include <algorithm>
#include <cmath>
#include <map>
#include <set>
#include <unordered_set>
#include <queue>
#include <deque>
#include <stack>

using namespace std;

#define int unsigned long long
#define double long double

int sum;

void cnt(int h, int v) {
    int side1, side2;
    if(h <= 1 && v <= 1) return;
    side1 = max(h, v) / 2 + max(h, v) % 2;
    side2 = max(h, v) - side1;
    sum += side1 * min(h, v);
    sum += side2 * min(h, v);
    cnt(side1, min(h, v));
    cnt(side2, min(h, v));
}

signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    int h, w, sq, ans = 0;
    cin >> h >> w;
    sq = h * w;
    sum = h * w;
    cnt(h, w);
    cout << sum;
}
