#include <bits/stdc++.h>
#ifndef Local
#define debug(...) 1337
#define endl '\n'
#endif

using namespace std;

#define int long long

typedef long long ll;
typedef long double ld;

#define all(x) (x).begin(), (x).end()
#define sz(x) (int)(x).size()

template <typename T, typename U>
bool smin(T& a, U b) {
	if (a > b) {
		a = b;
		return true;
	}
	return false;
}

template <typename T, typename U>
bool smax(T& a, U b) {
	if (a < b) {
		a = b;
		return true;
	}
	return false;
}

void solve() {
	int h, w;
	cin >> h >> w;

	if (w < h) swap(h, w);

	ll ans = 0;
	int x = w, y = h;

	for (; x > 1; --x) {
		ans += (w / x) * (h / y) * (x * y);
	}

	for (; y > 1; --y){
		ans += (w / x) * (h / y) * y;
	}

	cout << ans + w * h;
}

signed main() {
	ios::sync_with_stdio(false), cin.tie(nullptr);

	int tt = 1;
	// cin >> tt;
	while (tt--)
		solve();

	return 0;
}
