Фермер Джон реорганизует свою электронную почту.
Его экран выглядит как вертикальный список папок с левой стороны экрана и
и вертикальный список писем с право стороны экрана.
Имеется \(M\) папок, пронумерованных \(1 \ldots M\) (\(1 \le M \le 10^4)\).
Его почта сейчас содержит \(N\) писем, пронумерованных \(1\ldots N\)
(\(1 \le N \le 10^5\)); \(i\)-ое письмо необходимо переместить в папку
\(f_i\) (\(1\le f_i\le M\)).
Экран ФД небольшой, поэтому он может видеть одновременно \(K\) (\(1\le K\le \min(N,M)\))
папок и \(K\) писем одновременно. Изначально, его экран показывает папки \(1 \ldots K\)
слева и письма \(1 \ldots K\) справа. Для того чтобы увидеть другие папки и письма, он
должен скроллить соответствующие списки. Например, если он проскроллит вниз на
одну позицию в списке папок, он увидит папки \(2 \ldots K+1\), а если проскроллит
ещё на одну позицию вниз, он увидит папки \(3 \ldots K+2\). Когда ФД переносит письмо
в папку, оно исчезает из списка писем, и все нижние письма поднимаются на одну
позицию вверх. Например, пусть на экране отображены письма \(1, 2, 3, 4, 5\) и
ФД переносит письмо 3 в соответствующую папку, тогда видимая часть списка писем
станет такой: \(1, 2, 4, 5, 6\). ФД может переносить письма только в назначенные
им папки.
К несчастью, колесо скроллинга на мышке ФД сломалось, и он может скроллить
только вниз и не может скроллить вверх. Единственное подобие скроллинга вверх
если он видит последние \(K\) писем из своего списка и переносит в папку одно из
них. В этом случае после переноса список опять покажет последние \(K\) ещё не разнесенных
писем, что соответствует скроллингу вверх на одно письмо. Если осталось менее \(K\)
писем, они отображаются все.
Помогите ФД определить, может ли он разнести по папкам все свои письма.
ФОРМАТ ВВОДА (с клавиатуры / stdin):
Первая строка ввода содержит
\(T\) (
\(1 \le T \le 10\)), количество подслучаев в тесте,
каждый из которых должен решаться независимо. Далее идут
\(T\) подслучаев.
Для каждого подслучая первая строка содержит
\(M\),
\(N\),
\(K\). Вторая строка содержит
\(f_1 \ldots f_N\).
Гарантируется, что сумма \(M\) по всем подслучаям не превысит \(10^4\),
а сумма \(N\) по всем подслучаям не превысит \(10^5\).
ФОРМАТ ВЫВОДА (на экран / stdout):
Выведите \(T\) строк, каждая содержит YES или NO, указывая может ли ФД
разнести письма для каждого из \(T\) подслучаев.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
6 5 5 1 1 2 3 4 5 5 5 1 1 2 3 5 4 5 5 1 1 2 4 5 3 5 5 2 1 2 4 5 3 3 10 2 1 3 2 1 3 2 1 3 2 1 3 10 1 1 3 2 1 3 2 1 3 2 1
|
YES
YES
NO
YES
YES
NO
|