아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

빨간색 0

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

요약
1부터 n까지를 이진수로 적고 각 행에서 k번째마다 0을 표시할 때, 표시되는 0의 개수를 센다.
난이도

어려움10점 중 8점

유형
수학, 비트 연산, 동적 계획법, 정수론
정답자
아직 제출이 없습니다

문제

Толик은 방금 세상에 이진법이 있다는 것을 알게 되었다. 기뻐진 그는 1, 2, ..., nn의 이진 형태를 세로로 적었다. 1, 10, 11, 100, 101, 110, 111, ...이 되었다.

그 후 그는 적힌 모든 1을 지우고 0의 위치를 연구하기 시작했다. 그는 수 kk를 골라 각 줄에서 왼쪽에서 오른쪽으로, 첫 번째부터 시작하여 매 kk번째 0을 빨간색으로 표시했다. 따라서 번호가 1,k+1,2k+1,…1, k + 1, 2k + 1, \ldots인 0이 표시되었다. 예를 들어 k=2k = 2, n=56n = 56이면 다음과 같은 줄이 된다:

11 0 0 01 1 1 11 0 1 1 01 1 1 0 11 0 0 1 0 01 0 1 0 1 11 1 0 0 1 0
1 01 0 0 11 0 0 0 01 0 1 1 11 1 1 1 01 0 0 1 0 11 0 1 1 0 01 1 0 0 1 1
1 11 0 1 01 0 0 0 11 1 0 0 01 1 1 1 11 0 0 1 1 01 0 1 1 0 11 1 0 1 0 0
1 0 01 0 1 11 0 0 1 01 1 0 0 11 0 0 0 0 01 0 0 1 1 11 0 1 1 1 01 1 0 1 0 1
1 0 11 1 0 01 0 0 1 11 1 0 1 01 0 0 0 0 11 0 1 0 0 01 0 1 1 1 11 1 0 1 1 0
1 1 01 1 0 11 0 1 0 01 1 0 1 11 0 0 0 1 01 0 1 0 0 11 1 0 0 0 01 1 0 1 1 1
1 1 11 1 1 01 0 1 0 11 1 1 0 01 0 0 0 1 11 0 1 0 1 01 1 0 0 0 11 1 1 0 0 0

(빨간색 0은 굵은 글씨와 밑줄로 표시됨)

이제 Толик은 자신이 몇 개의 0을 표시했는지 궁금해한다. 그를 도와 세어 보자.

입력

입력 파일에는 수 nn과 kk가 들어 있다 (1≤n<2311 \le n < 2^{31}, 1≤k≤301 \le k \le 30).

출력

출력 파일에는 빨간색 0의 개수 하나를 출력한다.

예제2

  1. 예제 1

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

    입력
    56 2
    
    예상 출력
    74