题目描述
给定一个长度为 n 的整数序列 a1,a2,⋯,an。
你可以进行若干次(0 到 n−1 次)以下两种操作之一:
- 选择一个 i(1≤i≤n−1),将第 i 个元素和第 i+1 个元素合并,新元素的值为 min(ai,ai+1)。操作后 n 减少 1。
- 选择一个 i(1≤i≤n−1),将第 i 个元素和第 i+1 个元素合并,新元素的值为 max(ai,ai+1)。操作后 n 减少 1。
现在给定一个目标序列 b1,b2,⋯,bm,其中 m≤n。
请判断是否存在一系列操作,能够将初始序列 a 变为目标序列 b。
输入格式
本题有多组数据。
第一行一个整数 T(1≤T≤104),表示有 T 组数据,各组数据之间互不影响。
对于每组数据,第一行两个整数 n(1≤n≤105) 和 m(1≤m≤n),表示初始序列长度和目标序列长度。保证所有测试点的 n 之和不超过 105。
第二行 n 个整数 a1,a2,⋯,an(1≤ai≤109),表示初始序列。
第三行 m 个整数 b1,b2,⋯,bm(1≤bi≤109),表示目标序列。
输出格式
对于每组数据,输出一行 Yes
或 No
。
输入样例
3
4 2
3 2 4 1
2 1
6 3
100 200 300 200 100 50
200 100 200
4 4
1 2 3 4
1 2 3 4
输出样例
Yes
No
Yes
样例解释
对于第一组数据,可以这样操作:
- 将第 1 个元素与第 2 个元素合并,得到新元素,值为 min(3,2)=2。此时序列为 2,4,1。
- 将第 2 个元素与第 3 个元素合并,得到新元素,值为 min(4,1)=1。此时序列为 2,1。