Given a list of coins of distinct denominations and total amount of money. Output the minimum number of coins required to make up that amount. Output** -1** if that money cannot be made up using given coins.

You may assume that there are infinite numbers of coins of each type.

**Input:**

The first line contains 'T' denoting the number of testcases. Then follows description of testcases.

Each cases begins with the two space separated integers **'n' **and **'amount' **denoting the total number of distinct coins and total amount of money respectively.

The second line contains **n** space-separated integers A_{1}, A_{2}, ..., A_{n} denoting the values of coins.

**Output:**

For each testcase, in a new line, print the minimum number of coins required to make up that amount,** **print **-1 **if it is impossible to make that amount using given coins.

**Constraints:**

1<=T<=100

1<=n<=100

1<=A_{i}<=1000

1<=amount<=100000

**Example:**

**Input :**

2

3 11

1 2 5

2 7

2 6

**Output :**

3

-1

If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum. You will get quick replies from GFG Moderators there.

Login to report an issue on this page.