小绿的脱单梦

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

小绿一直坚持不懈的追求他的一个高中女同学。最近妹子终于被他打动,决定在接下来n天对他进行m项考验(同一项考验可能会在不同的两天重复进行,通过一次即可),如果他能全部通过,妹子就会答应和他交往。

 

小绿在得到消息后,兴奋不已,虽然他是一个不折不扣的weisuo死宅,虽然他除了代码什么都不会,但是他对自己的IQ十分自信!他能准确的估计自己通过某一项考验需要准备多少天,当然如果在某天去参加考验,那么那天就没时间准备其他项考验了。现在他偷偷的知道了妹子对他的考验安排,形势一片大好。小绿想尽快完成,他当然知道最少要多少天内完成所有考验,不过他决定将这个问题送给学弟,来分享他喜悦的心情。

Input

首先第一行输入一个整数T(T<=30)代表接下来有T组数据。

每组数据开头先输入两个整数n,m(0 < n, m <100000),意义如题。

第二行n个以空格隔开的非负整数 ai (0 <= ai <= m),代表第i天妹子将会对小绿进行第ai项考验(ai=0代表第i天不进行任何考验)。

第三行m个以空格隔开的非负整数 bi (1 <= bi <= 100000),代表小绿通过第i项测试之前需要准备够bi天。

Output

输出小绿完成所有的考验所需要的最短时间,如果在n天之内他不能完成所有考验请输出-1。

Sample Input

3
5 1
1 1 1 1 1
5
10 3
0 0 1 2 3 0 2 0 1 2
1 1 4
5 1
0 0 0 0 1
1

Sample Output

-1
9
5

Hint

对于样例1:

通过第一项考验需要5天,小绿不可能在5天能准备好并通过。

对于样例2:

他可以在第1-4天准备第三个考验,并在第5天通过,在第6天准备第二项考验,并在第7天通过,第8天准备第一项考验,并在第9天通过。

对于样例3:

他可以在第1天准备第一项考验,并在第5天通过。

Source

Ransln