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.

:)) | 186 |

Change_UserHandle | 183 |

shivam2303 | 176 |

PankajChhabra1 | 174 |

Boruto_Uzumaki | 136 |

KapilChhipa | 582 |

sagarsagar | 502 |

mb1973 | 475 |

AKASH24497 | 466 |

AmanDeepSingh97 | 465 |

blackshadows | 5254 |

Ibrahim Nash | 5192 |

akhayrutdinov | 5111 |

Quandray | 4385 |

mb1973 | 3912 |

Login to report an issue on this page.