CT10R3B - Fence

no tags 

We are looking into building a very long fence. We have already found a nice place to build it, and all that remains is to collect the materials.

From local hardware stores, we can buy unlimited numbers of wooden boards, each of which can come in a variety of different lengths. To avoid waste, we want to make sure that the total length of these boards is exactly equal to the length of the fence we are trying to build.

Given the length of the fence, and the possible board lengths that we can use, what is the minimum number of boards that we need to purchase in order to get exactly the right length?

Beware: the fence is going to be very long!

Input

The first line of the input file contains the number of cases, T. T test cases follow.

Each test case consists of two lines. The first line contains space-separated integers L and N. These represent the total length of the fence, and the number of different board lengths that can be purchased. The second line contains N space-separated integers B1, B2, ..., BN, representing all the possible board lengths.

Output

For each test case, output one line containing "Case #x: M", where x is the case number (starting from 1) and M is as follows:

  • If it is possible to purchase one or more boards so that their total length is exactly equal to L, then M should be the minimum number of boards required to do this.
  • Otherwise, M should be the string "IMPOSSIBLE".

Limits

1 ≤ T ≤ 50.

1010L ≤ 1018.

1 ≤ N ≤ 100.

1 ≤ Bi ≤ 100000.

All the Bi values in a single test case are distinct.

Example

Input:
2
10000000001 3
23 51 100
10000000001 3
100 52 22

Output:
Case #1: 100000004
Case #2: IMPOSSIBLE

hide comments
$$: 2010-07-17 04:49:26

Why Wrong Answer, although the my submission on GCJ was correct. there are tricks?

Last edit: 2010-07-17 04:50:28
Phan Công Minh: 2010-06-27 17:11:33

I know. This is a mistake. i've fixed that.

[Rampage] Blue.Mary: 2010-06-27 17:11:33

The condition max{B_i}<=10^5 is VERY IMPORTANT! The problem setter didn't know that??

刘启鹏: 2010-06-27 17:11:33

max{B_i}<=10^5


Added by:Phan Công Minh
Date:2010-06-22
Time limit:1.663s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: NODEJS OBJC PERL6 SQLITE VB.NET
Resource:GCJ 2010