MZVRK - Whirligig number



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 ≤ A ≤ B ≤ 1015.

Output

Ghi ra tổng tìm được, ko cần xài số lớn.

Sample

Input:
176 177

Output: 
17
Input:
5 9

Output: 
13
Input:
25 28

Output: 
8


Added by:psetter
Date:2009-02-28
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL JS-RHINO NODEJS PERL6 VB.NET
Resource:COI 05