Степени двойки
Условие задачи простое: для данного \(N\) нужно найти количество чисел от \(1\) до \(N\) таких, что они представимы в виде разницы двух степеней двоек.
Входные данные
В первой и единственной строке дано одно число \(N (1 \le N \le 10^{18})\).
Выходные данные
Выведите ответ на задачу.
Система оценивания
Решения, правильно работающие при \(N \le 1000\), будут оцениваться в 17 баллов.
Решения, правильно работающие при \(N \le 10^6\), будут оцениваться в 23 балла.
Примеры
Ввод 1
10
Ответ 1
7
Ввод 2
1000
Ответ 2
50
Пікірлер