Удаление битов

Задача 882

Доктор Один и доктор Ноль играют в следующую игру.
Игра начинается с одной $1$, двумя $2$, тремя $3$, ..., $n$ числами $n$. Игроки ходят по очереди, начиная с доктора Один.
Доктор Один выбирает число и меняет его путем удаления одной $1$ из его двоичной записи.
Доктор Ноль выбирает число и меняет его путем удаления одного $0$ из его двоичной записи.
Игрок, который больше не может совершить ход, проигрывает.
Заметим, что в двоичном представлении запрещены ведущие нули. В частности, ни один из игроков не может совершить ход с числом $0$.

Игроки вскоре осознали, что доктор Ноль никогда не сможет выиграть в эту игру. Чтобы сделать ее интереснее, доктор Ноль получил возможность несколько раз пропустить ход - т.е. не совершать ход и передать ход доктору Один.

Например, если $n = 2$, то доктор Ноль может победить, если ему позволено пропустить $2$ хода. Пример такой игры: $$ [1, 2, 2]\xrightarrow{\textrm{Dr. One}}[1, 0, 2]\xrightarrow{\textrm{Dr. Zero}}[1, 0, 1]\xrightarrow{\textrm{Dr. One}}[1, 0, 0]\xrightarrow[\textrm{skip}]{\textrm{Dr. Zero}} [1, 0, 0]\xrightarrow{\textrm{Dr. One}}[0, 0, 0]\xrightarrow[\textrm{skip}]{\textrm{Dr. Zero}}[0, 0, 0]. $$ Пусть $S(n)$ будет наименьшим количеством пропусков хода, которое необходимо для того, чтобы у доктора Ноль появилась выигрышная стратегия.
Например, $S(2) = 2$, $S(5) = 17$, $S(10) = 64$.

Найдите $S(10^5)$.