The next one is the linear Josephus Problem.

jL[n_, rs_] := Block[{p, u}, elim = {}; p = Join[Range[n], Sort[Table[m, {m, 2, n - 1}], Greater]]; Do[Do[u1 = First[p]; u2 = First[RotateLeft[p, 1]]; If[u1 == u2, p = RotateLeft[p, 2], p = RotateLeft[p, 1]], {s,1,rs - 1}]; u = First[p]; p = Rest[p]; elim = Append[elim, u]; If[MemberQ[p, u], p = Drop[p, Position[p, u][[1]]],], {t, 1, n - 1}]; p[[1]]];