Problem: p02608
Buggy submission (PyPy3 (7.3.0), verdict: Wrong Answer):
n= int(input())
ans = [0 for i in range(n)]
for x in range(1, int(n ** 0.5)+1):
    for y in range(x, int(n ** 0.5)+1):
        if x**2 + y**2 >= n:
            break
        for z in range(y, int(n ** 0.5)+1):
            val = (x+y+z)**2 - x*y - y*z - z*x
            if val > n:
                break
            if x == y == z:
                ans[val-1] += 1
            elif x == y or y == z:
                ans[val-1] += 3
            else:
                ans[val-1] += 6
                print(x,y,z)
                
for i in ans:
    print(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:
1 2 3
1 2 4
1 2 5
1 2 6
1 2 7
1 2 8
1 2 9
1 2 10
1 2 11
1 2 12
1 2 13
1 2 14
1 2 15
1 2 16
1 2 17
1 2 18
1 2 19
1 2 20
1 2 21
1 2 22
1 2 23
1 2 24
1 2 25
1 3 4
1 3 5
1 3 6
1 3 7
1 3 8
1 3 9
1 3 10
1 3 11
1 3 12
1 3 13
1 3 14
1 3 15
1 3 16
1 3 17
1 3 18
1 3 19
1 3 20
1 3 21
1 3 22
1 3 23
1 3 24
1 3 25
1 4 5
1 4 6
1 4 7
1 4 8
1 4 9
1 4 10
1 4 11
1 4 12
1 4 13
1 4 14
1 4 15
1 4 16
1 4 17
1 4 18
1 4 19
1 4 20
1 4 21
1 4 22
1 4 23
1 4 24
1 5 6
1 5 7
1 5 8
1 5 9
1 5 10
1 5 11
1 5 12
1 5 13
1 5 14
1 5 15
1 5 16
1 5 17
1 5 18
1 5 19
1 5 20
1 5 21
1 5 22
1 5 23
1 6 7
1 6 8
1 6 9
1 6 10
1 6 11
1 6 12
1 6 13
1 6 14
1 6 15
1 6 16
1 6 17
1 6 18
1 6 19
1 6 20
1 6 21
1 6 22
1 6 23
1 7 8
1 7 9
1 7 10
1 7 11
1 7 12
1 7 13
1 7 14
1 7 15
1 7 16
1 7 17
1 7 18
1 7 19
1 7 20
1 7 21
1 7 22
1 8 9
1 8 10
1 8 11
1 8 12
1 8 13
1 8 14
1 8 15
1 8 16
1 8 17
1 8 18
1 8 19
1 8 20
1 8 21
1 9 10
1 9 11
1 9 12
1 9 13
1 9 14
1 9 15
1 9 16
1 9 17
1 9 18
1 9 19
1 9 20
1 9 21
1 10 11
1 10 12
1 10 13
1 10 14
1 10 15
1 10 16
1 10 17
1 10 18
1 10 19
1 10 20
1 11 12
1 11 13
1 11 14
1 11 15
1 11 16
1 11 17
1 11 18
1 11 19
1 12 13
1 12 14
1 12 15
1 12 16
1 12 17
1 12 18
1 13 14
1 13 15
1 13 16
1 13 17
1 14 15
1 14 16
2 3 4
2 3 5
2 3 6
2 3 7
2 3 8
2 3 9
2 3 10
2 3 11
2 3 12
2 3 13
2 3 14
2 3 15
2 3 16
2 3 17
2 3 18
2 3 19
2 3 20
2 3 21
2 3 22
2 3 23
2 3 24
2 4 5
2 4 6
2 4 7
2 4 8
2 4 9
2 4 10
2 4 11
2 4 12
2 4 13
2 4 14
2 4 15
2 4 16
2 4 17
2 4 18
2 4 19
2 4 20
2 4 21
2 4 22
2 4 23
2 5 6
2 5 7
2 5 8
2 5 9
2 5 10
2 5 11
2 5 12
2 5 13
2 5 14
2 5 15
2 5 16
2 5 17
2 5 18
2 5 19
2 5 20
2 5 21
2 5 22
2 5 23
2 6 7
2 6 8
2 6 9
2 6 10
2 6 11
2 6 12
2 6 13
2 6 14
2 6 15
2 6 16
2 6 17
2 6 18
2 6 19
2 6 20
2 6 21
2 6 22
2 7 8
2 7 9
2 7 10
2 7 11
2 7 12
2 7 13
2 7 14
2 7 15
2 7 16
2 7 17
2 7 18
2 7 19
2 7 20
2 7 21
2 8 9
2 8 10
2 8 11
2 8 12
2 8 13
2 8 14
2 8 15
2 8 16
2 8 17
2 8 18
2 8 19
2 8 20
2 8 21
2 9 10
2 9 11
2 9 12
2 9 13
2 9 14
2 9 15
2 9 16
2 9 17
2 9 18
2 9 19
2 9 20
2 10 11
2 10 12
2 10 13
2 10 14
2 10 15
2 10 16
2 10 17
2 10 18
2 10 19
2 11 12
2 11 13
2 11 14
2 11 15
2 11 16
2 11 17
2 11 18
2 12 13
2 12 14
2 12 15
2 12 16
2 12 17
2 13 14
2 13 15
2 13 16
2 13 17
2 14 15
2 14 16
3 4 5
3 4 6
3 4 7
3 4 8
3 4 9
3 4 10
3 4 11
3 4 12
3 4 13
3 4 14
3 4 15
3 4 16
3 4 17
3 4 18
3 4 19
3 4 20
3 4 21
3 4 22
3 4 23
3 5 6
3 5 7
3 5 8
3 5 9
3 5 10
3 5 11
3 5 12
3 5 13
3 5 14
3 5 15
3 5 16
3 5 17
3 5 18
3 5 19
3 5 20
3 5 21
3 5 22
3 6 7
3 6 8
3 6 9
3 6 10
3 6 11
3 6 12
3 6 13
3 6 14
3 6 15
3 6 16
3 6 17
3 6 18
3 6 19
3 6 20
3 6 21
3 7 8
3 7 9
3 7 10
3 7 11
3 7 12
3 7 13
3 7 14
3 7 15
3 7 16
3 7 17
3 7 18
3 7 19
3 7 20
3 7 21
3 8 9
3 8 10
3 8 11
3 8 12
3 8 13
3 8 14
3 8 15
3 8 16
3 8 17
3 8 18
3 8 19
3 8 20
3 9 10
3 9 11
3 9 12
3 9 13
3 9 14
3 9 15
3 9 16
3 9 17
3 9 18
3 9 19
3 10 11
3 10 12
3 10 13
3 10 14
3 10 15
3 10 16
3 10 17
3 10 18
3 11 12
3 11 13
3 11 14
3 11 15
3 11 16
3 11 17
3 11 18
3 12 13
3 12 14
3 12 15
3 12 16
3 12 17
3 13 14
3 13 15
3 13 16
3 14 15
4 5 6
4 5 7
4 5 8
4 5 9
4 5 10
4 5 11
4 5 12
4 5 13
4 5 14
4 5 15
4 5 16
4 5 17
4 5 18
4 5 19
4 5 20
4 5 21
4 5 22
4 6 7
4 6 8
4 6 9
4 6 10
4 6 11
4 6 12
4 6 13
4 6 14
4 6 15
4 6 16
4 6 17
4 6 18
4 6 19
4 6 20
4 6 21
4 7 8
4 7 9
4 7 10
4 7 11
4 7 12
4 7 13
4 7 14
4 7 15
4 7 16
4 7 17
4 7 18
4 7 19
4 7 20
4 8 9
4 8 10
4 8 11
4 8 12
4 8 13
4 8 14
4 8 15
4 8 16
4 8 17
4 8 18
4 8 19
4 9 10
4 9 11
4 9 12
4 9 13
4 9 14
4 9 15
4 9 16
4 9 17
4 9 18
4 9 19
4 10 11
4 10 12
4 10 13
4 10 14
4 10 15
4 10 16
4 10 17
4 10 18
4 11 12
4 11 13
4 11 14
4 11 15
4 11 16
4 11 17
4 12 13
4 12 14
4 12 15
4 12 16
4 13 14
4 13 15
5 6 7
5 6 8
5 6 9
5 6 10
5 6 11
5 6 12
5 6 13
5 6 14
5 6 15
5 6 16
5 6 17
5 6 18
5 6 19
5 6 20
5 7 8
5 7 9
5 7 10
5 7 11
5 7 12
5 7 13
5 7 14
5 7 15
5 7 16
5 7 17
5 7 18
5 7 19
5 8 9
5 8 10
5 8 11
5 8 12
5 8 13
5 8 14
5 8 15
5 8 16
5 8 17
5 8 18
5 8 19
5 9 10
5 9 11
5 9 12
5 9 13
5 9 14
5 9 15
5 9 16
5 9 17
5 9 18
5 10 11
5 10 12
5 10 13
5 10 14
5 10 15
5 10 16
5 10 17
5 11 12
5 11 13
5 11 14
5 11 15
5 11 16
5 12 13
5 12 14
5 12 15
5 13 14
6 7 8
6 7 9
6 7 10
6 7 11
6 7 12
6 7 13
6 7 14
6 7 15
6 7 16
6 7 17
6 7 18
6 7 19
6 8 9
6 8 10
6 8 11
6 8 12
6 8 13
6 8 14
6 8 15
6 8 16
6 8 17
6 8 18
6 9 10
6 9 11
6 9 12
6 9 13
6 9 14
6 9 15
6 9 16
6 9 17
6 10 11
6 10 12
6 10 13
6 10 14
6 10 15
6 10 16
6 11 12
6 11 13
6 11 14
6 11 15
6 12 13
6 12 14
7 8 9
7 8 10
7 8 11
7 8 12
7 8 13
7 8 14
7 8 15
7 8 16
7 8 17
7 9 10
7 9 11
7 9 12
7 9 13
7 9 14
7 9 15
7 9 16
7 10 11
7 10 12
7 10 13
7 10 14
7 10 15
7 11 12
7 11 13
7 11 14
7 11 15
7 12 13
7 12 14
8 9 10
8 9 11
8 9 12
8 9 13
8 9 14
8 9 15
8 10 11
8 10 12
8 10 13
8 10 14
8 10 15
8 11 12
8 11 13
8 11 14
8 12 13
9 10 11
9 10 12
9 10 13
9 10 14
9 11 12
9 11 13
10 11 12
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


Fixed submission (verdict: Accepted):
n = int(input())
ans = [0 for i in range(n)]
for x in range(1, n+1):
    if x ** 2 >= n:
        break
    for y in range(x, n+1):
        if x**2 + y**2 >= n:
            break
        for z in range(y, n+1):
            val = (x+y+z)**2 - x*y - y*z - z*x
            if val > n:
                break
            if x == y == z:
                ans[val-1] += 1
            elif x == y or y == z:
                ans[val-1] += 3
            else:
                ans[val-1] += 6
                
for i in ans:
    print(i)