소들은 손가락이 없어서 '가위바위보'로 (누가 먼저 젖을 짜일지 정하는 것처럼) 임의의 결정을 내릴 수 없습니다. 발굽으로는 동전을 던지기도 어렵죠.
그래서 소들은 라운드 넘버(round number) 맞히기를 사용합니다. 첫 번째 소가 20억 미만의 정수를 하나 고르고, 두 번째 소도 똑같이 고릅니다. 두 수가 모두 라운드 넘버이면 첫 번째 소가 이기고, 그렇지 않으면 두 번째 소가 이깁니다.
양의 정수 $N$은 그 이진 표현(앞자리 0 없이)에서 0의 개수가 1의 개수보다 많거나 같을 때 라운드 넘버라고 합니다. 예를 들어 $9$를 이진법으로 쓰면 $1001$이고, 0이 두 개, 1이 두 개이므로 $9$는 라운드 넘버입니다. $26$은 이진법으로 $11010$이며 0이 두 개, 1이 세 개이므로 라운드 넘버가 아닙니다.
소들이 수를 이진법으로 바꾸는 데는 시간이 걸려서 승자를 정하는 데도 오래 걸립니다. Bessie는 주어진 범위 안에 라운드 넘버가 몇 개 있는지 미리 알면 유리할 것이라고 생각합니다.
$Start$부터 $Finish$까지(양 끝 포함) 범위에 라운드 넘버가 몇 개 있는지 세는 프로그램을 작성하세요. ($1 \le Start < Finish \le 2{,}000{,}000{,}000$)
다음은 $2$부터 $12$까지 각 수가 라운드 넘버인지 보여줍니다. (열: 십진수, 이진수, 0의 개수 x0 + 1의 개수 x1, 판정)
2 10 1x0 + 1x1 ROUND
3 11 0x0 + 2x1 NOT round
4 100 2x0 + 1x1 ROUND
5 101 1x0 + 2x1 NOT round
6 110 1x0 + 2x1 NOT round
7 111 0x0 + 3x1 NOT round
8 1000 3x0 + 1x1 ROUND
9 1001 2x0 + 2x1 ROUND
10 1010 2x0 + 2x1 ROUND
11 1011 1x0 + 3x1 NOT round
12 1100 2x0 + 2x1 ROUND