파워!!달걀

아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

베네딕트는 똑같은 파워!!달걀을 KK개 샀다. 그는 건물주인데, 갑자기 서로 다른 층에서 달걀을 떨어뜨려 보고 싶어졌다. 그의 건물은 11층부터 NN층까지 번호가 붙은 NN층 건물이다.

파워!!달걀은 특정 조건을 만족해야만 깨진다. 어떤 값 FF가 있어서, 달걀을 F+1F+1층 이상에서 떨어뜨리면 깨지고 FF층 이하에서 떨어뜨리면 깨지지 않는다. FF00 이상 NN 이하의 정수 중 하나다.

베네딕트는 달걀이 깨질 때까지 원하는 층에서 원하는 횟수만큼 달걀을 떨어뜨릴 수 있다. 깨지지 않은 달걀은 다시 떨어뜨릴 수 있고, 한 번 깨진 달걀은 더 쓸 수 없다. 최악의 경우에도 FF를 확정하려면 달걀을 최소 몇 번 떨어뜨려야 하는지 구한다.

건물이 33층이고 달걀이 하나뿐인 경우를 생각해 보자. 먼저 11층에서 떨어뜨려 보고, 달걀이 멀쩡하면 22층에서, 그래도 멀쩡하면 33층에서 떨어뜨려야 한다. 달걀이 하나뿐이라 층을 건너뛸 수 없으므로 최악의 경우 세 번을 떨어뜨려야 한다.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. (1T100001 \le T \le 10000)

이어지는 TT개의 줄에 각각 건물의 높이 NN과 달걀의 개수 KK가 공백 하나로 구분되어 주어진다. (1N20000000071 \le N \le 2000000007, 1K321 \le K \le 32)

출력

각 테스트 케이스마다 한 줄에 FF를 확정하는 데 필요한 최소 낙하 횟수를 출력한다.

그 횟수가 3232보다 크면 숫자 대신 Impossible을 출력한다. 베네딕트는 그만큼 많이 떨어뜨릴 기운이 없다.