var input = 3012210; var elves = []; for(var i = 0; i < input; i++){ elves.push(true); } var i = 0; while(elves.indexOf(true) != -1){ while(elves[i] == false){ i = (i+1)%(elves.length); } i = (i+1)%(elves.length); while(elves[i] == false){ i = (i+1)%(elves.length); } last = i; elves[i] = false; } console.log(last+1);