Exact Change
시간 제한1초메모리 제한2048 MB
두 이진수 a와 b(최대 100만 비트)가 주어질 때, a부터 b까지의 모든 금액을 정확히 지불할 수 있는 2의 거듭제곱 동전의 최소 개수를 구합니다.
문제
Binaria에 있는 동안, 친구들에게 줄 선물을 사고 싶은 가게를 발견했습니다. Binaria의 화폐 단위는 bit이며, 동전의 액면가는 의 정수 거듭제곱 전부입니다. 이곳에서 적어도 bit을 쓰고, bit을 넘지 않게 쓰려고 합니다.
물건을 살 때는 정확한 금액을 내야 합니다. 은행 계좌에서 bit을 원하는 만큼 인출할 수 있지만, 어떤 액면가로 인출할지는 직접 고를 수 있습니다. 동전을 많이 들고 다니는 것은 불편하므로, 가지고 다니는 동전의 개수를 최소로 하려고 합니다.
이상 이하의 모든 정수 금액을 지불할 수 있도록 가져가야 하는 동전의 최소 개수를 구하세요.
입력
첫째 줄에 정수 가 주어집니다. 입니다. 는 앞에 0이 없는 2진수로 주어집니다.
둘째 줄에 정수 가 주어집니다. 입니다. 는 앞에 0이 없는 2진수로 주어집니다.
출력
가져가야 하는 동전의 최소 개수 를 출력하세요.