function spinlock(steps, iterations) {
let [pos, buffer] = [0, [0]];
for (let i = 1; i <= iterations; i++) {
pos = (pos + steps) % buffer.length;
buffer.splice(pos + 1, 0, i);
pos = (pos + 1) % buffer.length;
}
return buffer[(buffer.indexOf(iterations) + 1) % buffer.length];
}