main => Limit = 1000, A = new_array(Limit+1), bind_vars(A,0), foreach(N in 1..Limit-1) M = find_last_of(A[1..N],A[N+1]), if M > 0 then A[N+2] := N-M+1 end end, println(A[1..10]), println(A[991..1000]), nl.