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.

murli01 | 343 |

decoder_101 | 216 |

Sulagna | 189 |

kya_bolti_public | 172 |

madhursengar24 | 172 |

PiyushPandey4 | 717 |

john_wick | 681 |

ASWATHAMA | 565 |

akhyasharma01 | 547 |

jagrit_ | 507 |

blackshadows | 5362 |

Ibrahim Nash | 5242 |

akhayrutdinov | 5111 |

mb1973 | 4929 |

Quandray | 4598 |

Login to report an issue on this page.