W学长的零花钱
题号:NC24382
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

    W学长有很多零花钱,其中包括1元,5元,10元三种面值的纸币。现在他想出去买巧克力用掉这些零钱,但是他又不想带太多钱,而且他不想找零,因为他觉得找零意味着又产生了新的零钱。请你帮忙计算W学长最少需要带几张纸币才能刚好买到巧克力。


输入描述:

第一行一个T(1≤T≤1000),表示测试数据组数。

第二行4个数m(1≤m≤100),a,b,c,分别表示巧克力售价,W学长拥有的1元纸币、5元纸币、10元纸币的数量。(0≤a,b,c≤10)。

输出描述:

一个数,表示最少要带的纸币数量,如果拿已有的钱无法刚好买到巧克力则输出-1。
示例1

输入

复制
3
16 4 3 1
10 2 1 2
8 2 1 3

输出

复制
3
1
-1