program ideone;
function isPrime(N : Integer) : Boolean;
var
D, dD : Integer;
begin
isPrime := (N > 1);
if (N=2) or (N=3) or (N=5) then
Exit;
isPrime := isPrime and (N mod 2 <> 0) and (N mod 3 <> 0);
if not isPrime then
Exit;
D := 5;
dD := 2;
while D <= (N div D) do
if (N mod D) = 0 then
begin
isPrime := False;
Exit;
end
else
begin
D += dD;
dD := dD xor 6;
end;
end;
var
i: Integer;
begin
for i := 0 to 100 do
begin
if isPrime(i) then Write(i, ' ')
end
end.
cHJvZ3JhbSBpZGVvbmU7CgpmdW5jdGlvbiBpc1ByaW1lKE4gOiBJbnRlZ2VyKSA6IEJvb2xlYW47CnZhcgogIEQsIGREIDogSW50ZWdlcjsKYmVnaW4KICBpc1ByaW1lIDo9IChOID4gMSk7CiAgaWYgKE49Mikgb3IgKE49Mykgb3IgKE49NSkgdGhlbgogICAgRXhpdDsKICBpc1ByaW1lIDo9IGlzUHJpbWUgYW5kIChOIG1vZCAyIDw+IDApIGFuZCAoTiBtb2QgMyA8PiAwKTsKICBpZiBub3QgaXNQcmltZSB0aGVuCiAgICBFeGl0OwogIEQgOj0gNTsKICBkRCA6PSAyOwogIHdoaWxlIEQgPD0gKE4gZGl2IEQpIGRvCiAgICBpZiAoTiBtb2QgRCkgPSAwIHRoZW4KICAgIGJlZ2luCiAgICAgIGlzUHJpbWUgOj0gRmFsc2U7CiAgICAgIEV4aXQ7CiAgICBlbmQKICAgIGVsc2UKICAgIGJlZ2luCiAgICAgIEQgKz0gZEQ7CiAgICAgIGREIDo9IGREIHhvciA2OwogICAgZW5kOwplbmQ7Cgp2YXIKICBpOiBJbnRlZ2VyOwoKYmVnaW4KICBmb3IgaSA6PSAwIHRvIDEwMCBkbwogIGJlZ2luCiAgICBpZiBpc1ByaW1lKGkpIHRoZW4gV3JpdGUoaSwgJyAnKQogIGVuZAplbmQu