/*
TASK:rtri
LANG:C++
*/
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{int m,n,i,j,i1,j1;
long long br=0;
cin>>m>>n;
//cout<<m<<" "<<n<<endl;
m++;
n++;

for (i=1;i<m;i++)
 for (j=1;j<n;j++) br+=(m-i)*(n-j);
 br*=4;
//cout<<br<<endl; 

for (i=1;i<m;i++)
 for (j=1;j<n;j++)
  for (i1=1;i1<m-i+1;i1++)
   for (j1=1;j1<n-j+1;j1++) 
    {
    int k=0;
    if (((i1/(double)j1)-(j/(double)i))<0.001) {//cout<<"\n\n"<<i<<","<<j<<"  "<<i1<<","<<j1<<"\n";
//                                         int x=i+i1,y=max(j,j1);                    
                                       //  cout<<x<<" "<<y<<endl;
                                         //cout<<m<<","<<i+i1<<"  "<<n<<","<<max(j,j1)<<"-\n";               
                                        k+=(m-max(i,i1))*(n-(j+j1));
                                        k+=(m-(i+i1))*(n-max(j,j1));
//                                        if (i==i1&&j==j1&&i==j)k*=2;
                                      //  cout<<max(i,i1)<<" "<<j+j1<<endl;
                                      //  cout<<i+i1<<" "<<max(j,j1)<<endl;
                                      //  cout<<i<<","<<j<<"  "<<i1<<","<<j1<<'-'<<k<<"\n";
                                         
                                          }
    /*cout<<i<<","<<j<<"  "<<i1<<","<<j1<<"-"<<k<<"\n";*/
  //  k*=2;
     k*=2; 
     br+=k;
    
    }
cout<<br<<endl; 
  


    return 0;
}
