베네딕트는 똑같은 파워!!달걀을 K개 샀다. 그는 건물주인데, 갑자기 서로 다른 층에서 달걀을 떨어뜨려 보고 싶어졌다. 그의 건물은 1층부터 N층까지 번호가 붙은 N층 건물이다.
파워!!달걀은 특정 조건을 만족해야만 깨진다. 어떤 값 F가 있어서, 달걀을 F+1층 이상에서 떨어뜨리면 깨지고 F층 이하에서 떨어뜨리면 깨지지 않는다. F는 0 이상 N 이하의 정수 중 하나다.
베네딕트는 달걀이 깨질 때까지 원하는 층에서 원하는 횟수만큼 달걀을 떨어뜨릴 수 있다. 깨지지 않은 달걀은 다시 떨어뜨릴 수 있고, 한 번 깨진 달걀은 더 쓸 수 없다. 최악의 경우에도 F를 확정하려면 달걀을 최소 몇 번 떨어뜨려야 하는지 구한다.
건물이 3층이고 달걀이 하나뿐인 경우를 생각해 보자. 먼저 1층에서 떨어뜨려 보고, 달걀이 멀쩡하면 2층에서, 그래도 멀쩡하면 3층에서 떨어뜨려야 한다. 달걀이 하나뿐이라 층을 건너뛸 수 없으므로 최악의 경우 세 번을 떨어뜨려야 한다.
첫째 줄에 테스트 케이스의 개수 T가 주어진다. (1≤T≤10000)
이어지는 T개의 줄에 각각 건물의 높이 N과 달걀의 개수 K가 공백 하나로 구분되어 주어진다. (1≤N≤2000000007, 1≤K≤32)
각 테스트 케이스마다 한 줄에 F를 확정하는 데 필요한 최소 낙하 횟수를 출력한다.
그 횟수가 32보다 크면 숫자 대신 Impossible을 출력한다. 베네딕트는 그만큼 많이 떨어뜨릴 기운이 없다.