#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
const long double pi = acos(-1.0);
const long double eps = 1e-9;
const int MAX_SIZE = 50;
const int dX[] = {-1, 1, 0, 0, -1, 1, -1, 1};
const int dY[] = {0, 0, -1, 1, 1, -1, -1, 1};
template <class S, class T>
ostream& operator<<(ostream& o, const pair<S, T>& a) {
  o << a.first << " " << a.second;
  return o;
}
template <class S, class T>
ostream& operator<<(ostream& o, const map<S, T>& a) {
  for (typeof((a).begin()) it = (a).begin(); it != (a).end(); it++)
    o << (*it) << "\n";
  return o;
}
template <class S>
ostream& operator<<(ostream& o, const vector<S>& a) {
  for (typeof((a).begin()) it = (a).begin(); it != (a).end(); it++)
    o << *it << " ";
  return o;
}
template <class S>
ostream& operator<<(ostream& o, const vector<vector<S> >& a) {
  for (typeof((a).begin()) it = (a).begin(); it != (a).end(); it++) {
    o << (*it) << "\n";
  }
  return o;
}
template <class S>
ostream& operator<<(ostream& o, const set<S>& a) {
  for (typeof((a).begin()) it = (a).begin(); it != (a).end(); it++)
    o << *it << " ";
  return o;
}
const long long MAX = 30;
int cnt[MAX];
int main() {
  ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  ;
  int w, h, x, y, x1, y1;
  long long ans = 0;
  cin >> w >> h;
  for (x = (1);
       (((1) > 0) - ((1) < 0)) * x < (((1) > 0) - ((1) < 0)) * (w / 2 + 1);
       x += (1)) {
    for (y = (1);
         (((1) > 0) - ((1) < 0)) * y < (((1) > 0) - ((1) < 0)) * (h / 2 + 1);
         y += (1)) {
      x1 = w - x;
      y1 = h - y;
      ans += (y1 - y + 1) * (x1 - x + 1);
    }
  }
  cout << ans;
  return 0;
}
