while(list_first(L)!=(p=list_end(L))){ printf("%d ",i=j=list_retrieve(list_first(L),L)); end = list_retrieve(list_previous(p,L),L); while(i<=end){ list_delete(list_locate(i,L),L); i+=j; } }