만드는 중입니다

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

숫자 찾기

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

난이도

아직 분류되지 않았습니다

정답자
아직 제출이 없습니다

문제

Ujan은 청소에 지쳐서 잠시 쉬고 싶었고, 그래서 무한 수열을 가지고 놀기 시작했다. 그에게는 정수 nn과 kk가 있다. 그는 다음 단계를 반복해서 무한 수열 ss를 만든다.

  1. ss에 없는 서로 다른 양의 정수 중 가장 작은 kk개를 찾는다. 작은 수부터 차례로 u1,u2,…,uku_1, u_2, \ldots, u_k라고 하자.
  2. u1,u2,…,uku_1, u_2, \ldots, u_k와 ∑i=1kui\sum_{i=1}^{k} u_i를 이 순서대로 ss에 추가한다.
  3. 첫 번째 단계로 돌아간다.

Ujan은 정수 nn을 수열 ss에 적는 순간 놀이를 그만둔다. sx=ns_x = n을 만족하는 인덱스 xx를 구하라. 모든 양의 정수는 ss에 정확히 한 번씩 등장함을 증명할 수 있다.

입력

첫 줄에 테스트 케이스의 개수 tt (1≤t≤1051 \le t \le 10^5)가 주어진다.

이어서 tt개의 줄에 정수 nn과 kk (1≤n≤10181 \le n \le 10^{18}, 2≤k≤1062 \le k \le 10^6)가 한 줄에 하나씩 주어진다.

출력

각 테스트 케이스의 답을 한 줄에 하나씩 출력한다.

힌트

첫 번째 예시에서 s=(1,2,3,4,5,9,6,7,13,8,10,18,…)s = (1, 2, 3, 4, 5, 9, 6, 7, 13, 8, 10, 18, \ldots)이다. 여기서 1010은 11번째 수이므로 답은 11이다.

두 번째 예시에서는 s=(1,2,3,4,5,15,6,7,8,9,10,40,…)s = (1, 2, 3, 4, 5, 15, 6, 7, 8, 9, 10, 40, \ldots)이다.

예제1

  1. 예제 1

    입력
    2
    10 2
    40 5
    
    예상 출력
    11
    12