var a:set of byte;
i,j:integer;
begin
a:=[];
for I := 1 to trunc(sqrt(256)) do
for j := trunc(sqrt(256)) downto i do
if ((sqr(i)+sqr(j))>=1) and ((sqr(i)+sqr(j))<=256) then
a:=a+[(sqr(i)+sqr(j))];
for I := 1 to 256 do
if i in a then write(i,' ');
readln;
end.
dmFyICBhOnNldCBvZiBieXRlOwppLGo6aW50ZWdlcjsKYmVnaW4KYTo9W107CmZvciBJIDo9IDEgdG8gdHJ1bmMoc3FydCgyNTYpKSBkbwogIGZvciBqIDo9ICB0cnVuYyhzcXJ0KDI1NikpIGRvd250byBpIGRvCiAgIGlmICgoc3FyKGkpK3NxcihqKSk+PTEpIGFuZCAoKHNxcihpKStzcXIoaikpPD0yNTYpIHRoZW4KICAgYTo9YStbKHNxcihpKStzcXIoaikpXTsKZm9yIEkgOj0gMSB0byAyNTYgZG8KICBpZiBpIGluIGEgdGhlbiAgIHdyaXRlKGksJyAnKTsKcmVhZGxuOwplbmQu