小塔喜欢解决各种数学难题。一天,他遇到了一道有趣的题目:他需要帮助他的朋友们完成一个排序任务。小塔得到两个长度为n的数组a[]和b[]。他可以在两个数组对应位置进行交换,即选定一个位置i,交换a[i]和b[i]。他可以进行任意交换(包括0次),他想知道按最优策略来是否可以达成让至少一个数组,a[]或者b[],变得有序。有序即数组单调不减(升序)或者单调不增(降序)均可。形式化地,给定两个长度为n的数组a[]和b[]。你可以任选一个位置i交换a[i]和b[i],可以进行任意多次这样的操作。你的目标是判断是否能够通过这些操作使得至少一个数组变得有序(升序或降序)。小塔想要在老师面前证明自己,但这个题目实在有点太难了,请你帮帮他!
第一行一个整数T,表示数据组数。 对于每组数据: 第一行包含一个整数n,表示数组的长度。 第二行包含n个整数a1,a2,...,an 第三行包含n个整数b1,b2,...,bn 1≤T≤100,1≤n≤10000,1≤aibi≤10000。
输出T行分别表示每组数据答案。 对每组数据,如果能够通过交换操作使至少一个数组变得有序,输出 YES;否则,输出NO。
输入
2
5
1 3 5 2 4
5 2 3 4 1
7
1 2 3 4 3 2 1
4 3 2 1 2 3 4
输出
YES
NO
说明
第一组数据: 在这个样例中,其中一种可行的方法为:通过交换第2、3、4个位置,我们 可以使数组a变成升序:1 2 3 4 4 第二组数据: 无论如何都无法让任何一个数组变得有序。
扫码备注加群即可,期待您的到来~
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.