Подкорректируйте код pascal

подкорректируйте код pascal
напечатайте все целые числа, лежащие в диапазоне от 1 до 3600, которые представимы в виде n^2+m^2,но которые нельзя представить 5l+5k (m,n,k,l>0)
программа печатает но выводит несколько чисел. а хочется что бы по нахождению числа, дальше оно не прогонялось и цикл шёл дальше

uses crt;
Const n=200;
Type mn=set of 1..n;
Var m2:mn; i,j,k:integer;
Procedure Print (m:mn);
Var i:integer;

begin
for i:=1 to n do
if i in m then write(i:3,' ');
writeln;
end;

Begin
m2:=[];
for i:= 1 to n do begin
for j:= 1 to i do begin
for k:= 1 to i do begin
if (j*j + k*k = i) and (i mod 5 = 0) then begin
write (i,' '); break;
end;
end;
end;
end;
writeln(''); print (m2);
end.

  • break; - уберите
  • break как раз здесь правильно работает. А проблема, я так понимаю в том, что он не все числа, обладающие указанными свойствами выводит. Ну так происходит из-за того, что у вас n = 200, а не 3600.
    Плюс вы определяете тип set of 1..n и процедуру Print, которые потом фактически не используете.