#CF1985F. 最终 Boss

最终 Boss

F. 最终 Boss

  • 时间限制:每个测试点 22
  • 内存限制:每个测试点 256256 兆字节

你正在面对你最喜欢的电子游戏中的最终 Boss。Boss 有 hh 点生命值。你的角色有 nn 种攻击。第 ii 种攻击造成 aia_i 点伤害,但冷却时间为 cic_i 回合,意味着如果你在当前回合 xx 使用了该攻击,则下一次可以使用它的回合是 x+cix + c_i。在每个回合中,你可以使用所有当前不在冷却中的攻击,并且同时使用(一次全部打出)。如果所有攻击都在冷却中,则你本回合什么都不做,直接进入下一回合。

初始时,所有攻击都不在冷却中。你需要多少回合才能击败 Boss?当 Boss 的生命值降到 00 或以下时,即被击败。

输入

第一行包含一个整数 tt1t1041 \le t \le 10^4)——测试用例的数量。

每个测试用例的第一行包含两个整数 hhnn1h,n21051 \le h, n \le 2 \cdot 10^5)——Boss 的生命值和你拥有的攻击种类数。

每个测试用例的下一行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai21051 \le a_i \le 2 \cdot 10^5)——你的攻击的伤害值。

每个测试用例的下一行包含 nn 个整数 c1,c2,,cnc_1, c_2, \dots, c_n1ci21051 \le c_i \le 2 \cdot 10^5)——你的攻击的冷却时间。

保证所有测试用例的 hhnn 之和不超过 21052 \cdot 10^5

输出

对于每个测试用例,输出一个整数,即击败 Boss 所需的最少回合数。

示例

输入

8
3 2
2 1
2 1
5 2
2 1
2 1
50 3
5 6 7
5 6 7
50 3
2 2 2
3 3 3
90000 2
200000 200000
1 1
100000 1
1
200000
6 7
3 2 3 2 3 1 2
6 5 9 5 10 7 7
21 6
1 1 1 1 1 1
5 5 8 10 7 6

输出

1
3
15
25
1
19999800001
1
21

  • 对于第一个测试用例,你可以在第一回合同时使用攻击 1122,总共造成 33 点伤害,直接击败 Boss。
  • 对于第二个测试用例,你可以在 33 回合内击败 Boss,操作如下:
    11 回合:使用攻击 1122,造成 33 点伤害,Boss 剩余 22 点生命。
    22 回合:使用攻击 22,造成 11 点伤害,Boss 剩余 11 点生命。
    33 回合:使用攻击 11,造成 22 点伤害,Boss 剩余 1-1 点生命,被击败。
  • 对于第六个测试用例:注意答案可能很大,需要使用 6464 位整数。