Coach Minhyeok has the athlete Yura run l meters to measure Yura's stamina. Yura runs from the start line to the finish line at a constant real speed of at least v1 and at most v2 meters per second. Minhyeok does not know the exact value of that speed.
Minhyeok left the timer at home, so the range of the speed has to be narrowed another way. At a time of Minhyeok's choosing, Minhyeok goes to one point of the course and checks whether Yura has already reached that point. The point is x meters from the start, where 0≤x≤l. A check answers either "Yura already reached it" or "Yura has not reached it yet".
Getting to a point takes at least s seconds. The first check cannot be made before s seconds have passed since the start, and after a check the next one cannot be made before another s seconds have passed. The k-th check therefore happens no earlier than k×s seconds after the start.
Minhyeok decides the time and the point of each check after seeing the answers of the earlier checks. When the checks are over, if the interval of speeds consistent with the answers has length at most t, Minhyeok can state Yura's speed within an error of ±t/2, and the measurement succeeds.
Minhyeok plans the strategy that needs the fewest checks whatever Yura's speed is. Find the number of checks in the worst case.
The first line contains the number of test cases c (1≤c≤100).
Each of the next c lines contains the integers l, v1, v2, t, s of one test case, separated by spaces. (1≤l,v1,v2,t,s≤109, v1<v2)
Print one answer per line, one line for each test case.
If there is no way to learn Yura's speed within an error of ±t/2, print impossible. Otherwise print the smallest number of checks needed in the worst case. If no check is needed at all, print 0.