Benedict bought K identical power eggs. He owns a building and suddenly wanted to drop the eggs from different floors. The building has N floors, numbered 1 through N.
A power egg breaks only under one condition. There is a value F such that an egg dropped from floor F+1 or higher breaks, and an egg dropped from floor F or lower does not. F is an integer between 0 and N.
Benedict may drop an egg from any floor he likes, as many times as he likes, until it breaks. An egg that survives can be dropped again, and a broken egg is gone for good. Find the smallest number of drops that pins down F even in the worst case.
Take a building with 3 floors and a single egg. Benedict has to try floor 1 first, then floor 2 if the egg survives, then floor 3 if it still survives. With one egg he cannot skip a floor, so the worst case costs three drops.
The first line has the number of test cases T (1≤T≤10000).
Each of the next T lines has the height of the building N and the number of eggs K, separated by a single space (1≤N≤2000000007, 1≤K≤32).
For each test case, print one line with the minimum number of drops needed to pin down F.
If that number is greater than 32, print Impossible instead of a number. Benedict does not have the energy for that many drops.