/*
TASK: rtri
LANG:C++
*/
#include <iostream.h>
int main()
{
  int m, n;
  int kl[2][32]={7, 17, 14, 23, 21, 28, 1, 2, 3, 4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 3, 5, 6, 7, 8, 9, 10, 12, 15, 18, 20,
		4, 12,  8, 15, 12, 16, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 5, 13, 10, 25, 17, 15, 26, 20, 25, 30, 29};
  cin >> m >> n;
  unsigned int br=m*n*4;
  int x; if(m>n){x=m; m=n; n=x;}

  for(int i=1; i<=m; i++)
    for(int j=2; j<=n; j++)
    {
      if((m-i+1)>0 && (n-j+1)>0)br+=(m-i+1)*(n-j+1)*4;
      if((m-j+1)>0 && (n-i+1)>0)br+=(m-j+1)*(n-i+1)*4;
    }
/*
  int l=1;
  int t;
  for(int p=1; p<=m; p*=l)
  {
    t=l;
    if(t==1)t=2;
    for(int k=2; k<=n; k*=t)
    {
      br+=(m-p+1)*(n-k+1)*2;
    }
    l++;
  }
  for(i=2; i<=m; i*=2)
    for(int j=1; j<=n; j*=2)
      br+=(m/i)*(n/j)*2; */
   int aa, bb;
   for(int q=0; q<=32; q++)
   {
      aa=kl[0][q];
      bb=kl[1][q];
      if((m-aa+1) >0 && (n-bb+1)>0) br+=(m-aa+1)*(n-bb+1)*2;
      if((m-bb+1) >0 && (n-aa+1)>0) br+=(m-bb+1)*(n-aa+1)*2;
   }

  cout << br;
  return 0;
}