Program Resheto;
const n=954530;
var i,j,last,k:integer;
b:array[1..n] of boolean;
begin
for j:=1 to n do b[j]:=true; ///сначала все числа не вычеркнуты
b[1]:=false; ///единицу вычеркиваем сразу
i:=2;k:=0; ///k - количество найденных простых чисел
while i*i
begin
for j:=i+1 to n do
begin
if (b[j]) then ///если число уже вычеркнуто,то ничего не делаем
begin
if (j mod i=0) then begin last:=j; b[j]:=false; end; ///если число делится,то запоминаем его в last и вычеркиваем из решета
end;
end;
inc(i);
end;
for j:=2 to n do if b[j] then inc(k); ///считаем количество
writeln; writeln('Последнее вычеркнутое: ',last);writeln('Найдено простых чисел: ',k);
for j:=2 to n do if b[j] then write(j,' '); ///выводим все простые числа через пробел
end.