#L6169. 相似序列

相似序列

题目描述

给定长度为 nn 的整数序列 AA,你需要回答 qq 个询问。询问给定两个子串 [a,b][a, b][c,d][c, d],要求你判断两个子串是否相似。

如果两个序列在各自排序后,除最多一个位置外,其他所有位置上的元素对应相等,那么我们认为两个序列相似。

请注意,给定的子串可以有公共部分,但不会互相影响。


输入格式

输入的第一行包含一个整数 TT,代表测试数据的组数。接下来是 TT 组数据。
每组数据的第一行包含两个整数 nnqq,分别代表序列长度和询问数。
接下来一行包含 nn 个由空格分隔的整数 A1,A2,,AnA_1, A_2, \dots , A_n
接下来 qq 行,每行描述一个询问。询问以四个整数 a,b,c,da, b, c, d 表示,其中 aabb 为第一个子串的左右端点,ccdd 为第二个子串的左右端点。


输出格式

对于每个询问,判断两个子串是否相似,并相应输出一行 YES 或者 NO


样例

输入

1
6 3
1 3 4 2 3 4
1 3 4 6
1 2 5 6
3 5 2 4

输出

YES
NO
YES

在第一个询问中,第一个子串在排序后为 [1,3,4][1, 3, 4],第二个子串在排序后为 [2,3,4][2, 3, 4]。除第 11 个位置上的元素外,两个子串对应相等,故相似。
在第二个询问中,第一个子串在排序后为 [1,3][1, 3],第二个子串在排序后为 [3,4][3, 4]。两个位置上的元素均不相等,故不相似。
在第三个询问中,第一个子串在排序后为 [2,3,4][2, 3, 4],第二个子串在排序后为 [2,3,4][2, 3, 4]。两个子串对应位置完全相等,故相似。


数据范围与提示

所有数据满足:

  • 1abn1 \leq a \leq b \leq n
  • 1cdn1 \leq c \leq d \leq n
  • ba=dcb − a = d − c

子任务 11010 分)

  • 1T31 \leq T \leq 3
  • 1n,q1031 \leq n,q \leq 10^3
  • 1A[i]1031 \leq A[i] \leq 10^3

子任务 22020 分)

  • 1T31 \leq T \leq 3
  • 1n1051 \leq n \leq 10^5
  • 1q1041 \leq q \leq 10^4
  • 1Ai1051 \leq A_i \leq 10^5

子任务 37070 分)

  • 1T31 \leq T \leq 3
  • 1n1051 \leq n \leq 10^5
  • 1q1051 \leq q \leq 10^5
  • 1Ai1091 \leq A_i \leq 10^9