페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#2785

힘(수의 세기) 1초 64MB

문제

양의 정수 N이 주어질 때, N을 나누지 못하는 가장 작은 양의 정수를 찾는 문제를 프로세스라고 하자. 

그 결과 값에 대하여 프로세스를 적용하는 것을 반복적으로 하게 되면 결국 2가 남게 된다.

2에 도달 할 때 까지 나열되는 수열의 길이를 strength(N)이라고 정의하자.

 

예를 들면 N = 6 인 경우 프로세스를 반복적으로 적용하면 6, 4, 3, 2라는 수열이 얻어지므로 strength(6) = 4가 된다.

 

두 양의 정수 A, B가 주어질 때 두 양의 정수를 포함하여 두 수 사이에 존재하는 strength의 합을 구하는 프로그램을 작성하시오.

 

즉, strength(A) + strength(A+1) + ... + strength(B). 을 구하는 것이다.


입력

하나의 행에 두 양의 정수 A B가 주어진다.( 3 ≤ A < B < 1017)


출력

두 양의 정수를 포함하여 두 수 사이에 존재하는 strength의 합을 출력하시오.


예제1

입력
36
출력
11

예제2

입력
100200
출력
262

출처

COCI 2012/2013 contest1 snaga

역링크