@@ -0,0 +1,20 @@ | |||
import collections | |||
import sys | |||
text = sys.stdin.read() | |||
lim = int(text) + 1 | |||
elves = collections.deque(range(1, lim + 1)) | |||
while len(elves) > 1: | |||
elves.rotate(-1) | |||
elves.popleft() | |||
print(elves[0]) | |||
half1 = collections.deque(range(1, lim // 2 + 1)) | |||
half2 = collections.deque(range(lim // 2 + 1, lim + 1)) | |||
while half1 and half2: | |||
half1.pop() if len(half2) < len(half1) else half2.popleft() | |||
half2.append(half1.popleft()) | |||
half1.append(half2.popleft()) | |||
print([*half1, *half2][0]) |