Problem: p02608
Buggy submission (Python (3.8.2), verdict: Wrong Answer):
def func(a, b, c):
    return a**2 + b**2 + c**2 + a*b + b*c + c*a

n = int(input())
ans = [0]*(n+1)
x, y, z = (1, 1, 1)
flag = 0
while flag == 0:
    for y in range(1, x+1):
        for z in range(1, y+1):
            num = func(x, y, z)
            if num <= n and x == y == z:
                ans[num] += 1
            elif num <= n:
                ans[num] += 3
    if func(x, 1, 1) > n:
        flag = 1
    x += 1

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


Failing test case input:
743

Expected output:
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
3
3
0
0
0
0
0
1
6
0
3
0
0
0
0
0
3
3
6
0
0
3
0
0
0
0
3
3
6
0
6
0
0
0
3
0
0
1
6
0
6
6
0
0
6
0
0
0
0
3
3
3
6
0
6
3
6
0
0
0
6
0
0
0
3
3
9
0
6
3
6
0
3
6
0
0
0
0
6
1
6
0
6
6
0
3
12
0
6
0
0
3
6
0
0
0
3
3
12
0
6
3
6
0
3
6
9
0
6
0
0
0
3
6
3
3
6
0
6
3
12
0
3
6
6
0
6
0
6
3
6
0
0
1
6
3
12
6
0
0
12
0
6
0
6
6
12
0
0
6
0
0
6
0
12
3
6
0
6
3
9
6
3
6
6
0
6
0
6
0
15
6
0
0
6
0
3
3
12
0
12
6
6
0
3
6
6
3
12
0
6
0
9
6
0
0
6
3
12
1
6
6
6
6
0
0
18
0
12
0
3
6
12
0
0
6
3
6
12
0
12
0
0
0
9
3
9
6
12
3
12
0
3
6
6
0
12
0
12
0
9
9
0
0
6
3
6
3
12
6
9
3
6
0
12
3
6
3
9
6
12
6
6
0
6
0
9
6
6
0
12
3
6
0
9
6
6
1
6
0
21
12
6
0
12
0
12
0
0
6
15
6
0
6
12
0
12
0
12
0
0
0
12
0
12
12
3
3
18
3
6
3
6
6
9
9
18
0
6
0
12
0
9
6
0
3
12
3
6
6
12
6
6
0
0
0
15
3
18
3
18
3
12
6
3
6
9
0
12
0
12
0
18
12
0
0
12
3
6
0
6
6
9
6
0
0
18
1
18
3
12
6
6
6
12
0
15
6
12
6
18
0
0
6
0
9
12
0
18
0
6
3
12
0
12
12
0
0
12
0
3
6
12
6
18
9
18
0
9
6
18
0
6
0
6
3
27
6
6
6
6
3
6
0
12
6
9
0
6
0
18
0
9
9
15
3
12
6
6
3
9
6
12
12
18
0
18
0
6
6
21
6
0
0
6
3
15
6
12
6
18
0
0
0
12
6
6
3
6
4
18
6
12
6
3
9
30
0
18
0
6
6
12
6
6
9
12
0
18
6
18
0
6
0
12
0
6
12
6
3
18
0
6
6
6
6
15
3
24
0
6
3
18
0
12
6
12
6
24
0
15
18
9
6
0
0
18
3
6
0
15
12
12
6
6
0
18
0
6
3
12
0
12
6
6
9
9
6
24
3
24
0
9
12
6
6
12
0
12
0
21
9
15
6
12
3
18
3
12
6
12
6
0
0
12
0
12
6
24
0
6
12
6
1
9
6
12
6
24
0
18
3
12
6
6
12
24
0
12
6
15
6
18
0
18
0
0
0
18
9
21
12
0
6
18
0
9
6
6
6
12
0
12
0
9
9
27
6
6
3
18
6
21
6
6
12
12
0
12
0
24
12
0
0
24
3
24
6
12
12
18
0
0
0
12
0
18
3
15
6
12
9
6
0
15
6
9
12
24
0
12
3
6
6
21
6
18
3
18
0
21
12
15
6
6
0
12
3
12
9
18
9
12
6
6
6
24
0
18
3
24
0
6
6
0
6
9
6
6
4
30
0
18
12
9
6
24
0
18
0
9
12
21
6
6
12
12


Actual output:
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
3
3
0
0
0
0
0
1
3
0
3
0
0
0
0
0
3
3
3
0
0
3
0
0
0
0
3
3
3
0
3
0
0
0
3
0
0
1
3
0
6
3
0
0
3
0
0
0
0
3
3
3
3
0
3
3
3
0
0
0
3
0
0
0
3
3
6
0
3
3
3
0
3
3
0
0
0
0
3
1
3
0
6
3
0
3
6
0
3
0
0
3
3
0
0
0
3
3
6
0
3
3
3
0
3
3
6
0
3
0
0
0
3
3
3
3
3
0
3
3
6
0
3
3
3
0
3
0
3
3
3
0
0
1
3
3
9
3
0
0
6
0
3
0
3
6
6
0
0
3
0
0
3
0
9
3
3
0
3
3
6
3
3
3
3
0
3
0
3
0
9
3
0
0
3
0
3
3
6
0
6
6
3
0
3
3
3
3
6
0
3
0
6
3
0
0
3
3
6
1
3
3
6
3
0
0
9
0
6
0
3
6
6
0
0
3
3
3
6
0
6
0
0
0
6
3
6
3
6
3
6
0
3
3
3
0
6
0
6
0
6
6
0
0
3
3
3
3
6
3
6
3
3
0
6
3
3
3
6
3
6
3
3
0
3
0
6
3
3
0
6
3
3
0
6
3
3
1
3
0
15
6
3
0
6
0
6
0
0
6
9
3
0
3
6
0
6
0
6
0
0
0
6
0
9
6
3
3
9
3
3
3
3
3
6
6
9
0
3
0
6
0
6
3
0
3
6
3
3
3
6
3
3
0
0
0
9
3
9
3
9
3
6
3
3
3
6
0
6
0
6
0
12
6
0
0
6
3
3
0
3
3
6
3
0
0
9
1
9
3
9
3
3
3
6
0
9
3
6
6
9
0
0
3
0
6
6
0
9
0
3
3
6
0
9
6
0
0
6
0
3
6
6
3
9
6
9
0
6
3
9
0
3
0
3
3
15
3
3
3
3
3
3
0
6
3
6
0
3
0
9
0
6
6
9
3
6
3
3
3
6
3
9
6
9
0
9
0
3
3
12
3
0
0
3
3
9
3
6
3
9
0
0
0
6
3
3
3
3
4
9
3
9
3
3
6
15
0
9
0
3
6
6
3
3
6
6
0
9
3
9
0
3
0
6
0
6
6
3
3
9
0
3
3
3
3
9
3
12
0
3
3
9
0
9
3
6
6
12
0
9
9
6
3
0
0
9
3
3
0
9
6
6
3
3
0
9
0
3
3
6
0
6
3
6
6
6
3
12
3
12
0
6
6
3
3
6
0
6
0
12
6
9
3
6
3
9
3
6
3
6
3
0
0
6
0
6
6
12
0
3
6
3
1
6
3
9
3
12
0
9
3
6
3
3
9
12
0
6
3
9
3
9
0
9
0
0
0
9
6
15
6
0
3
9
0
6
3
3
3
6
0
6
0
6
6
15
3
3
3
9
6
12
3
3
6
6
0
6
0
15
6
0
0
12
3
12
3
6
6
9
0
0
0
6
0
9
3
9
3
6
6
3
0
9
3
6
9
12
0
6
3
3
3
12
3
9
3
9
0
12
6
9
3
3
0
6
3
6
6
9
6
6
3
3
3
12
0
9
3
12
0
3
3
0
3
6
3
3
4
15
0
12
6
6
3
12
0
9
0
6
9
12
3
3
6
6


Fixed submission (verdict: Accepted):
def func(a, b, c):
    return a**2 + b**2 + c**2 + a*b + b*c + c*a

n = int(input())
ans = [0]*(n+1)
x, y, z = (1, 1, 1)
flag = 0
while flag == 0:
    if func(x, 1, 1) <= n:
        for y in range(1, x+1):
            for z in range(1, y+1):
                num = func(x, y, z)
                if num <= n and x == y == z:
                    ans[num] += 1
                elif num <= n and (x == y or y == z or z == x):
                    ans[num] += 3
                elif num <= n:
                    ans[num] += 6
    else:
        flag = 1
    x += 1

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