C. Стёпа и перестановка
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Стёпа нашёл перестановку $$$p$$$ длины $$$n$$$. Стёпа, конечно же, решил её отсортировать. Чтобы процесс был интереснее, он выбрал два положительных целых числа $$$x$$$ и $$$y$$$ $$$(x + y \le n)$$$ и установил правило для обмена элементов.

За один ход Стёпа может выбрать два индекса $$$i$$$ и $$$j$$$ $$$(1 \le i, j \le n)$$$ и поменять местами элементы $$$p_i$$$ и $$$p_j$$$, если выполняется хотя бы одно из следующих условий:

  • $$$|i - j| = x$$$
  • $$$|i - j| = y$$$

Стёпа хочет узнать, можно ли отсортировать перестановку в порядке возрастания, совершив любое количество таких операций. Помогите ему ответить на этот вопрос.

Входные данные

Первая строка содержит одно целое число $$$t$$$ $$$(1 \le t \le 10^4)$$$ — количество наборов входных данных.

Первая строка каждого набора входных данных содержит три целых числа $$$n$$$, $$$x$$$ и $$$y$$$ $$$(1 \le x, y \le n \le 2 \cdot 10^5$$$, $$$x + y \le n)$$$ — длина массива и числа, выбранные Стёпой.

Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$p_i$$$ $$$(1 \le p_i \le n)$$$ — массив $$$p$$$; гарантируется, что $$$p$$$ является перестановкой.

Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превышает $$$2 \cdot 10^5$$$.

Выходные данные

Для каждого набора входных данных выведите «YES», если при данных $$$x$$$ и $$$y$$$ можно отсортировать перестановку, и «NO» иначе.

Вы можете выводить каждую букву в любом регистре (строчную или заглавную). Например, строки «yEs», «yes», «Yes» и «YES» будут приняты как положительный ответ.

Пример
Входные данные
4
5 2 3
5 4 3 2 1
6 2 4
2 1 4 3 6 5
4 2 2
1 2 3 4
5 2 3
1 2 3 5 4
Выходные данные
YES
NO
YES
YES