output_description: Print N lines. The i-th line should contain the value f(i).
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
attempt: def sum_(x, y, z):
      return (((x + y) ** 2) + ((y + z) ** 2) + ((x + z) ** 2)) // 2
  
  
  n = int(input())
  l = [0] * (n + 1)
  i = 1
  while i < n and sum_(i, i, i) <= n:
      z = 1
      while z < n and sum_(i, i, z) <= n:
          if i == z:
              l[sum_(i, i, z)] += 1
          else:
              l[sum_(i, i, z)] += 3
          z += 1
      i += 1
  i = 1
  while i < n and sum_(i, i + 1, i + 2) <= n:
      y = i + 1
      while sum_(i, y, y + 1) <= n:
          z = y + 1
          while sum_(i, y, z) <= n:
              l[sum_(i, y, z)] += 6
              z += 1
          y += 1
      i += 1
  for i in l[1:]:
      print(i)
  
problem_description: Statement
  
  Let f(n) be the number of triples of integers (x,y,z) that satisfy both of the
  following conditions:
  
    * 1 \leq x,y,z
    * x^2 + y^2 + z^2 + xy + yz + zx = n
  
  Given an integer N, find each of f(1),f(2),f(3),\ldots,f(N).
samples: [{"input": "20", "output": "0\n    0\n    0\n    0\n    0\n    1\n    0\n    0\n    0\n    0\n    3\n    0\n    0\n    0\n    0\n    0\n    3\n    3\n    0\n    0\n    \n\n  * For n=6, only (1,1,1) satisfies both of the conditions. Thus, f(6) = 1.\n  * For n=11, three triples, (1,1,2), (1,2,1), and (2,1,1), satisfy both of the conditions. Thus, f(6) = 3.\n  * For n=17, three triples, (1,2,2), (2,1,2), and (2,2,1), satisfy both of the conditions. Thus, f(17) = 3.\n  * For n=18, three triples, (1,1,3), (1,3,1), and (3,1,1), satisfy both of the conditions. Thus, f(18) = 3."}]