# squareNim 
# Fig. 48.3
# input: 300

import math

n = int(input("n=? "))
wins = [False]*(n*n)

legalMoves = [(i*i) for i in range(1, int( math.sqrt(n))+1) ]
print(legalMoves)

for i in range(n):
  if not wins[i]: 
    for m in legalMoves:
      wins[i+m] = True

print("Losing Positions:")
for i in range(n-1):
  if not wins[i]:
    print(f"{i:3d} ", end='')
  else:  # a win
    print(" -- ", end ='')
  if (i+1)%10 == 0:
    print()
print()
