Buggy python submission (verdict: Time Limit Exceeded):
import math

N = int(input())

for i in range(1,N+1):
  ans = 0
  for x in range(1,math.ceil(math.sqrt(i/3))):
    # if x**2 + x**2 + x**2 + x*x + x*x + x*x > i:
    #   break
    for y in range(x,math.ceil(math.sqrt(i/2))):
      # if x**2 + y**2 + y**2 + x*y + y*y + y*x > i:
      #   break
      for z in range(y,math.ceil(math.sqrt(i))):
        # print(x,y,z)
        if x**2 + y**2 + z**2 + x*y + y*z + z*x == i:
          if x == y == z:
            ans += 1
          elif x == y | x == z | y == z:
            ans += 2
          else:
            ans += 3
          break
        # elif x**2 + y**2 + z**2 + x*y + y*z + z*x > i:
        #   break
      
  print(ans)


Fixed submission:
import math

N = int(input())
ans = [0 for _ in range(10050)]

# for i in range(1,N+1):
for x in range(1,math.ceil(math.sqrt(N))):
  for y in range(1,math.ceil(math.sqrt(N))):
    for z in range(1,math.ceil(math.sqrt(N))):
      v = x**2 + y**2 + z**2 + x*y + y*z + z*x
      if v < 10050:
        ans[v] += 1

for i in range(N):
  print(ans[i+1])

Buggy python submission (verdict: Time Limit Exceeded):
import math

N = int(input())
for i in range(1,N+1):
  ans = 0
  for x in range(1,int(math.sqrt(i))):
    for y in range(x,int(math.sqrt(i))):
      for z in range(y,int(math.sqrt(i))):
        if x**2 + y**2 + z**2 + x*y + y*z + z*x == i:
          if x == y == z:
            ans += 1
          elif x == y | x == z | y == z:
            ans += 2
          else:
            ans += 3
  print(ans)


Fixed submission:
import math

N = int(input())
ans = [0 for _ in range(10050)]

# for i in range(1,N+1):
for x in range(1,math.ceil(math.sqrt(N))):
  for y in range(1,math.ceil(math.sqrt(N))):
    for z in range(1,math.ceil(math.sqrt(N))):
      v = x**2 + y**2 + z**2 + x*y + y*z + z*x
      if v < 10050:
        ans[v] += 1

for i in range(N):
  print(ans[i+1])

Buggy python submission (verdict: Time Limit Exceeded):
import math

N = int(input())
for i in range(1,N+1):
  ans = 0
  for x in range(1,int(math.sqrt(i))):
    for y in range(1,int(math.sqrt(i))):
      for z in range(1,int(math.sqrt(i))):
        if x**2 + y**2 + z**2 + x*y + y*z + z*x == i:
          ans += 1
  print(ans)


Fixed submission:
import math

N = int(input())
ans = [0 for _ in range(10050)]

# for i in range(1,N+1):
for x in range(1,math.ceil(math.sqrt(N))):
  for y in range(1,math.ceil(math.sqrt(N))):
    for z in range(1,math.ceil(math.sqrt(N))):
      v = x**2 + y**2 + z**2 + x*y + y*z + z*x
      if v < 10050:
        ans[v] += 1

for i in range(N):
  print(ans[i+1])

Buggy python submission (verdict: Time Limit Exceeded):
N = int(input())
for i in range(1,N+1):
  ans = 0
  for x in range(1,i):
    for y in range(1,i):
      for z in range(1,i):
        if x**2 + y**2 + z**2 + x*y + y*z + z*x == i:
          ans += 1
  print(ans)


Fixed submission:
import math

N = int(input())
ans = [0 for _ in range(10050)]

# for i in range(1,N+1):
for x in range(1,math.ceil(math.sqrt(N))):
  for y in range(1,math.ceil(math.sqrt(N))):
    for z in range(1,math.ceil(math.sqrt(N))):
      v = x**2 + y**2 + z**2 + x*y + y*z + z*x
      if v < 10050:
        ans[v] += 1

for i in range(N):
  print(ans[i+1])