Being the head judge of a programming contest is no small thing. A long list of jobs has to be finished before the contest can happen. Luckily, Ruben recently got a machine that spawns a small minion at the push of a button, and each minion does part of his work. He also hired an assistant to remind him to run the machine.
There is one catch with minions. If you have too many of them, they get lost. Someone has to keep track of them, so fewer is better. A minion spawned from the machine works a fixed amount and is then spent. A recycling machine exists, but it is hidden in a deep, dark forest somewhere.
The work capacities of the minions the machine makes are normally distributed with both μ and σ unknown. The number of minions the machine can spawn in a given time interval is Poisson distributed with intensity λ, also unknown.
What we want to know is the minimum number of times Ruben has to spawn a minion to be sure that all the work gets done. You are given a list of how many work units each of the M minions can work for. The machine breaks down completely after it has spawned M minions. You choose which minion to spawn next from the list, but you can spawn each one only once. All minions are unique in their own ways, and two of them may still have the same work capacity.
The first line contains a single integer T, the number of test cases. Each of the following T cases consists of two lines. The first line has two integers: W, the number of work units Ruben needs completed, and M, the number of minions the machine can spawn. The next line has M integers Ci, the number of work units each minion can complete.
For each test case, print on one line the minimum number of minions needed to complete the workload W. If the workload cannot be completed even with all M minions, print no rest for Ruben without the quotes. Note that Ruben's name takes a capital R.