Whirligig number

View as PDF

Submit solution


Points: 0.26 (partial)
Time limit: 1.0s
Memory limit: 512M
Input: stdin
Output: stdout

Problem source:
COI 05
Problem type
Allowed languages
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Số "whirligig" của ~1~ số là số thu được bằng cách xóa tất cả các số nằm bên trái của số ~1~ ở bên phải phải nhất của ~1~ số trong biểu diễn nhị phân. Ví dụ, whirligig của ~6~ i.e. ~(110)_2~ là ~2~ i.e. ~(10)_2~, và whirligig của ~40~ i.e. ~(101000)_2~ là ~8~ i.e. ~(1000)_2~. Tính tổng tất cả các số whirligig của các số nằm trong khoảng ~[A~, ~B]~.

Input

Gồm hai số nguyên ~A~, ~B~, ~1 \leq A \leq B \leq 10^{15}~.

Output

Ghi ra tổng tìm được.

Sample Input 1

176 177

Sample Output 1

17

Sample Input 2

5 9

Sample Output 2

13

Sample Input 3

25 28

Sample Output 3

8

Comments

Please read the guidelines before commenting.


There are no comments at the moment.