--> function contractalot(integer n, integer k, s) sequence list = tagset(n) integer i = 1 while n>s do i += k - 1 if (i > n) then i := mod(i-1, n)+1 end if list [i..i] = {} n -= 1 end while return list end function