S := {8}: A := array(1..10^3): for m from 1 to 10^3 do A[m] := 0 od: A[2] := 2: A[4] := 4: for n from 6 to 10^3 by 2 do mytest := 0: for j from 2 to n-2 by 2 do if A[j]>0 then if member(A[j]*n, S) then mytest := 1; break; fi: fi: od: if mytest=0 then A[n] := n; for j from 2 to n-2 by 2 do S := S union {A[j]*n} od: fi: od: for i from 2 to 10^3 by 2 do if A[i]>0 then printf(`%d, `, A[i]) fi: od: # James A. Sellers, Feb 26 2003