N = gets.to_i

cnt = Hash.new { 0 }

1.upto(N) do |n|
  num = n ** 2 * 6
  cnt[num] += 1
end

catch(:done) do
  1.upto(N) do |x|
    (x+1).upto(N) do |y|
      num = x**2 + y**2 * 3 + x * y * 2

      throw :done if num > 10000

      cnt[num] += 3
    end
  end
end

catch(:done) do
  1.upto(N) do |y|
    (y+1).upto(N) do |x|
      num = x**2 + y**2 * 3 + x * y * 2

      throw :done if num > 10000

      cnt[num] += 3
    end
  end
end

catch(:done) do
  1.upto(N) do |x|
    (x+1).upto(N) do |y|
      (y+1).upto(N) do |z|
        num = x**2 + y**2 + z**2 + x*y + y*z + z*x

        throw :done if num > 10000

        cnt[num] += 6
      end
    end
  end
end

1.upto(N) do |i|
  puts cnt[i]
end

