n, d = read_line.split.map &.to_i cnt1 = Hash(Int32, Int64).new(0i64) (1..n).each do |x| (1..n).each do |y| cnt1[x*x + y*y] += 1 end end cnt2 = Hash(Int32, Int64).new(0i64) (1..n).each do |w| (1..n).each do |z| cnt2[w*w - z*z + d] += 1 end end puts cnt1.sum { |k, v| cnt2[k] * v }