小西和拼图
题号:NC215148
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小西得到了一套拼图,拼图里有的小拼图,每个的小方格上都有一个数字。

现在小西想使用这些拼图来组成一个的方形,注意每个小拼图的边缘必须平行于最后这个方形的对应边,且拼图间不能重叠,也不能留空隙

小西发现拼图中每一种小拼图都有无数张,并且小西希望最后这个方形的每个小方格的数字,都是关于主对角线对称的。也就是说假设最后这个方形为,那么对于每个都有。注意只需要数字相等即可,不需要数字的字符形状对称。

小西想知道她能拼出吗?

注意:拼图上的数字是印刷的,所以当然也不能旋转小拼图。

输入描述:

第一行输入一个整数表示测试用例组数,接下来有组测试用例。
对于每组测试用例:
第一行输入两个整数分别表示有种小拼图和最后的尺寸。
接下来行表示块小拼图的数字分布,每一块由两行组成,第一行是左上角、右上角;第二行是左下角、右下角

包括在内,所有数字的范围都在

输出描述:

对于每组测试用例输出一行一个字符串。如果这组测试用例小西能拼出来就输出YES,否则输出NO
示例1

输入

复制
6
3 4
1 2
5 6
5 7
7 4
8 9
9 8
2 5
1 1
1 1
2 2
2 2
1 100
10 10
10 10
1 2
4 5
8 4
2 2
1 1
1 1
1 2
3 4
1 2
1 1
1 1

输出

复制
YES
NO
YES
NO
YES
YES

说明

比如说第一组测试用例,n=3,m=4
接下来6行里
1 2
5 6是第一种小拼图
5 7
7 4是第二种
8 9
9 8是第三种