| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 12 | 7 | 5 | 50.000% |
Губка Боб и Патрик уже битый час не могут придумать, чем им заняться. Сквидвард решил их выручить и предложил сыграть в следующую игру: есть доска, на которой изначально написано число 1. На своем ходе каждый из игроков может стереть число, написанное на доске, и написать вместо него либо в два раза большее число, либо число, большее на единицу. Например, из числа 3 можно получить число 4 и число 6, а из числа 5 можно получить 6 или 10. Также в начале игры задается число $n$ --- верхняя граница. Она означает максимальное число, которое может быть записано на доску. Например, если $n = 9$, а на доске написано число 5, то следующим может быть выписано только число 6, потому что $10 > 9$, то есть число 10 недопустимо. Проигрывает в этой игре тот, кто не может сделать ход, то есть тот, перед чьим ходом на доске написано число $n$. Первым решил ходить Патрик.
Сыграв множество партий, Патрик задался следующим вопросом: как понять, сколько чисел являются выигрышными среди чисел от $l$ до $r$ включительно? Число $n$ называется выигрышным, если при верхней границей равной $n$ при оптимальной игре выигрывает Патрик.
Помогите ему справиться с этой нелегкой задачей, посчитайте по данным числам $l, r$ количество выигрышных чисел на этом отрезке.
В первой и единственной строке входного файла даны два числа $l, r$ ($1 \le l \le r \le 10^{18}$) --- границы отрезка.
В единственной строке выходного файла выведите ответа на задачу --- количество выигрышных чисел на отрезке $[l, r]$.
2 3
1
8 10
2