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

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

Гарри Поттер и Распределяющая Шляпа

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

요약
각 질의마다 p개 모둠으로 재귀적으로 만들어진 모자 수열에서 n번째 학생이 배정받는 모둠 번호를 구한다.
난이도

보통10점 중 5점

유형
수학, 분할 정복, 재귀
정답자
아직 제출이 없습니다

문제

Испокон веков разделением учеников на факультеты занимается волшебная шляпа. Раньше в школе было четыре различных факультета, но после недавних реформ факультетов стало pp. Шляпа же всё ещё занимается распределением учеников.

Перед торжественной церемонией шляпа заранее составляет план распределения учеников по факультетам. План является последовательностью чисел a_1,a_2,…,a_ka\_1, a\_2, \ldots, a\_k, где a_ia\_i является номером факультета, на который попадет ii-й ученик.

В своём плане шляпа использует для факультетов номера от 00 до p−1p-1. Следующим за ii-м факультетом считается (i+1)(i+1)-й, за (p−1)(p-1)-м --- нулевой. Первая версия плана содержит только один факультет --- нулевой. После чего шляпа много раз дописывает в конец плана текущее содержимое плана, заменив каждый факультет на следующий.

Рассмотрим распределение девяти учеников по четырём факультетам. Шляпа будет последовательно строить следующие планы: (0)(0), (0,1)(0, 1), (0,1,1,2)(0, 1, 1, 2), (0,1,1,2,1,2,2,3)(0, 1, 1, 2, 1, 2, 2, 3), (0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,0)(0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 0). Длина последнего плана достаточна для распределения всех учеников по факультетам, поэтому следующие планы шляпа может не строить.

Скажите, на какой из pp факультетов шляпа распределит nn-го ученика.

입력

В первой строке задано число qq (1≤q≤100,0001 \le q \le 100{\\,}000) --- количество запросов. В следующих qq строках описаны запросы. Каждый запрос содержит два целых числа nn и pp (1≤n≤10181 \le n \le 10^{18}, 2≤p≤10182 \le p \le 10^{18}) --- номер ученика и количество факультетов в Хогвартсе.

출력

Для каждого запроса выведите одно число --- номер факультета, на который шляпа распределит nn-го ученика.

예제1

  1. 예제 1

    입력
    10
    1 4
    2 4
    3 4
    4 4
    5 4
    6 4
    7 4
    8 4
    9 4
    10 4
    
    예상 출력
    0
    1
    1
    2
    1
    2
    2
    3
    1
    2