만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

영선 수열

시간 제한2초메모리 제한512 MB

요약
짝수는 2로 나누고 홀수는 1을 빼는 영선 수열이 K를 포함하는 [A, B] 구간의 정수 X 개수를 센다.
난이도

보통10점 중 7점

유형
수학, 비트 연산, 이분 탐색, 조합론
정답자
아직 제출이 없습니다

문제

음이 아닌 정수 XX에 대해 XX의 영선 수열은 다음과 같이 정의된 무한 수열이다.

  • 첫 번째 수는 XX이다.
  • 짝수 YY 다음에 오는 수는 Y/2Y/2이다. (00도 짝수이다)
  • 홀수 ZZ 다음에 오는 수는 Z−1Z-1이다.

예를 들어 6060의 영선 수열은 60,30,15,14,7,6,…60, 30, 15, 14, 7, 6, \dots이다.

KK, AA, BB가 주어질 때, A≤X≤BA \le X \le B인 정수 XX 중에서 XX의 영선 수열에 KK가 들어 있는 것이 몇 개인지 세는 프로그램을 작성하시오.

입력

첫째 줄에 KK, AA, BB가 공백으로 구분되어 주어진다. (0≤K≤10180 \le K \le 10^{18}, 0≤A≤B≤10180 \le A \le B \le 10^{18})

출력

첫째 줄에 조건을 만족하는 XX의 개수를 출력한다.

예제5

  1. 예제 1

    입력
    3 4 8
    
    예상 출력
    2
    
  2. 예제 2

    입력
    1 23457 123456
    
    예상 출력
    100000
    
  3. 예제 3

    입력
    1234567890123456 10 100
    
    예상 출력
    0
    
  4. 예제 4

    입력
    0 0 2
    
    예상 출력
    3
    
  5. 예제 5

    입력
    2 3 3
    
    예상 출력
    1