L. Трансформация перестановки
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Федор работает в отделе трансформации перестановок. Сегодня Федор должен решать такую задачу: нужно из перестановки $$$[p_1, p_2, \ldots, p_n]$$$ целых чисел $$$1, 2, \ldots, n$$$ получить перестановку $$$[q_1, q_2, \ldots, q_n]$$$, используя для преобразования не более $$$n^3$$$ операций $$$k$$$-переноса.

Пусть задан массив длиной $$$n$$$. Операция $$$k$$$-переноса с параметрами $$$(a, b)$$$ определяется следующим образом: отрезок из $$$k$$$ подряд идущих элементов массива, начинающийся с элемента с индексом $$$a$$$, вырезается из массива и вставляется обратно, начиная с индекса $$$b$$$.

Более формально: пусть задан массив $$$[t_1, t_2, \ldots, t_n]$$$ и два числа $$$a$$$ и $$$b$$$ ($$$1 \le a, b \le n - k + 1$$$). Рассмотрим вспомогательный массив $$$[r_1, r_2, \ldots, r_{n - k}]$$$, который состоит из чисел $$$[t_1, t_2, \ldots, t_{a - 1}, t_{a + k}, t_{a + k + 1}, \ldots, t_n]$$$. Тогда результатом $$$k$$$-переноса с параметрами $$$(a, b)$$$ для массива $$$t$$$ называется массив, состоящий из чисел $$$[r_1, r_2, \ldots, r_{b - 1}, t_a, t_{a + 1}, \ldots, t_{a + k - 1}, r_b, r_{b + 1}, \ldots, r_{n - k}]$$$.

Фёдор не знает, как подступиться к новой задаче, поэтому просит вас помочь ему в этом непростом деле!

Вам необходимо решить задачу для $$$t$$$ наборов входных данных.

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

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

Каждый из наборов входных данных описывается в трёх строках. Первая строка содержит целые числа $$$n$$$ и $$$k$$$ ($$$1 \le k \le n \le 100$$$).

Вторая строка содержит $$$n$$$ различных целых чисел $$$p_1, p_2, \ldots, p_n$$$ ($$$1 \le p_i \le n$$$) — перестановку $$$p$$$.

Третья строка содержит $$$n$$$ различных целых чисел $$$q_1, q_2, \ldots, q_n$$$ ($$$1 \le q_i \le n$$$) — перестановку $$$q$$$.

Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$100$$$.

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

Выведите ответы для каждого набора входных данных. Формат ответа для одного набора входных данных описан ниже.

Если из перестановки $$$p_1, p_2, \ldots, p_n$$$ невозможно получить перестановку $$$q_1, q_2, \ldots, q_n$$$ с помощью $$$k$$$-переносов, требуется вывести «NO» в единственной строке вывода.

Иначе первой строкой вывода должно быть слово «YES».

Во второй строке вывода должно находиться единственное число $$$m$$$ — количество выполненных $$$k$$$-переносов для получения перестановки $$$q$$$ из перестановки $$$p$$$ ($$$0 \le m \le n^3$$$). Обратите внимание, что вам не требуется минимизировать число $$$m$$$. Гарантируется, что если перестановку $$$q$$$ возможно получить из перестановки $$$p$$$ с помощью $$$k$$$-переносов, то существует решение, требующее не более, чем $$$n^3$$$ действий.

В каждой из следующих $$$m$$$ строк требуется вывести параметры $$$a$$$ и $$$b$$$ для очередного $$$k$$$-переноса.

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

В третьем наборе входных данных перестановку $$$q$$$ из перестановки $$$p$$$ можно получить и другим способом — использовав один $$$k$$$-перенос с параметрами $$$a = 2$$$, $$$b = 1$$$.