n = gets.chomp.to_i
y = 1
z = 1
count = 0
# 99.downto (1) do |x|
#     1.upto (99) do |y|
#         ans = x ** 2 + y ** 2 + z ** 2 + x * y + y *z + z *x
#         xy = x + y
#         all =n -  x ** 2 - y ** 2  - x * y
#         while true
#             zxy = z ** 2 + z * (x +y)
#             if zxy == all
#                 count += 1
#                 break
#             end
#             z += 1
#         end


#     end
# end
#count = 0

(1..n).each do |i|
#i = 6
    count = 0
    max = (i ** 0.5).ceil
    #p max
    max.downto (1) do |x|
        1.upto  (max) do |y|
            z = 1
            if x >= y
                all = i  -  x ** 2 - y ** 2  - x * y
                zz =  z ** 2 + z * x +z * y
                # if x == 1 && y == 1
                # puts "UU"
                #  p x
                #  p y
                #  p all
                #  p zz
                #  puts "HH"
                # end
                #puts "HH"
                until z > y
                    if all == zz && x != y && y != z
                        count += 6
                        break
                    elsif all == zz && x == y && y != z
                        count += 3
                        break
                    elsif all == zz && x != y && y == z
                        count += 3
                        break
                    elsif  all == zz && x == y && y == z
                        count += 1
                        break
                    end
                    z += 1
                    #p z
                end
            elsif x < y
                break
            
            end
        end
    end



    puts count
end