n = 0
while (n+1)**2-n**2 <= 168: # 85**2-84**2=169, 86**2-85**2=171,就是说之后的极限情况相邻两数平方之差会比168大，而且会越来
    # 越大，所以说这个需要求的数一定是在85**2这个范围内的，而且由于84**2-83**2=167，所以168定然不会是极限情况相邻两数平方之差
    n+=1                        
print(n+1)

for i in range((n+1)**2):
    if i**0.5 == int(i**0.5) and (i+168)**0.5 == int((i+168)**0.5):
        print(i-100)