/*
TASK: rtri
LANG: C
*/
#include <stdio.h>
#define maxW (1<<5)

int m,n;
long long br=0;
char memo[maxW][maxW][maxW][maxW][2];

void solve()
{
     int x1,y1,x2,y2,x3,y3,hh;
     for (x1=0;x1<n;++x1)
         for (y1=0;y1<m;++y1)
             for (x2=0;x2<n;++x2) 
                 for (y2=0;y2<m;++y2) if (x1 != y1 || x2 != y2) 
                     if (y1-y2!=0)
                     for (x3=0;x3<n;++x3)
                         {
                         y3 = x1*x1+y1*y1-x1*x2-y1*y2-x1*x3+x2*x3;
                         if (y3%(y1-y2) == 0) {
                            y3/=(y1-y2);
                            if (y3 >= 0 && y3 < m)
                               if (y3 != y2 || x3 != x2)
                                  if (y3 != y1 || x3 != x1)
                                     if (!((memo[x2][y2][x3][y3][0] == x1+1) && (memo[x2][y2][x3][y3][1] == y1+1)))
                                     if (!((memo[x3][y3][x2][y2][0] == x1+1) && (memo[x3][y3][x2][y2][1] == y1+1)))
                                        {
                                        ++br;
                                        memo[x2][y2][x3][y3][0] = x1+1;
                                        memo[x2][y2][x3][y3][1] = y1+1;
                                        }
                            }
                         }
                     else if (x1-x2!=0)
                     for (y3=0;y3<m;++y3)
                         {
                         x3 = x1*x1+y1*y1-x1*x2-y1*y2-y1*y3+y2*y3;
                         if (x3%(x1-x2) == 0) {
                            x3/=(x1-x2);
                            if (x3 >= 0 && x3 < n)
                               if (y3 != y2 || x3 != x2)
                                  if (y3 != y1 || x3 != x1)
                                     if (!((memo[x2][y2][x3][y3][0] == x1+1) && (memo[x2][y2][x3][y3][1] == y1+1)))
                                     if (!((memo[x3][y3][x2][y2][0] == x1+1) && (memo[x3][y3][x2][y2][1] == y1+1)))
                                        {
                                        ++br;
                                        memo[x2][y2][x3][y3][0] = x1+1;
                                        memo[x2][y2][x3][y3][1] = y1+1;
                                        }
                            }
                         }
     printf("%lld\n",br);
}

int main()
{
    scanf("%d%d",&m,&n);++n;++m;
    solve();
    return 0;
}
