code ChOut=8, IntOut=11; func Gen(M); \Generate Mth powers of positive integers int M; int N, R, I; [N:= [0, 0, 0, 0]; \provides own/static variables R:= 1; for I:= 1 to M do R:= R*N(M); N(M):= N(M)+1; return R; ]; func Filter; \Generate squares of positive integers that aren't cubes int S, C; [C:= [0]; \static variable = smallest cube > current square repeat S:= Gen(2); while S > C(0) do C(0):= Gen(3); until S # C(0); return S; ]; int I; [for I:= 1 to 20 do Filter; \drop first 20 values for I:= 1 to 10 do [IntOut(0, Filter); ChOut(0, ^ )]; \show next 10 values ]