N,D=map(int,input().split()) PC=[0]*(2*N*N+1) MC=[0]*(2*N*N+1) for i in range(1,N+1): for j in range(i,N+1): if i==j: if D-N*N<=i*i+j*j<=D+N*N: PC[i*i+j*j]+=1 MC[N*N]+=1 else: if D-N*N<=i*i+j*j<=D+N*N: PC[i*i+j*j]+=2 if 2-D<=i*i-j*j<=2*N*N-D: MC[i*i-j*j+N*N]+=1 if 2-D<=-i*i+j*j<=2*N*N-D: MC[-i*i+j*j+N*N]+=1 ANS=0 for i in range(2,2*N*N+1): if 0<=i-D+N*N<=2*N*N: ANS+=PC[i]*MC[i-D+N*N] print(ANS)