n,d=gets.split(" ").map{|e| e.to_i} hs=Array.new(10000000,0) hs2=Array.new(10000000,0) 1.upto(n){|x| x.upto(n){|y| t=x**2+y**2 hs[t]+=(x==y)?(1):(2) t2=d+(x+y)*(x-y) hs2[t2]+=1 next if x==y t2=d+(y-x)*(x+y) hs2[t2]+=1 } } ans=0 hs.size.times{|i| ans+=hs[i]*hs2[i] } puts ans