В чате контестов по программированию состоит \(n\) человек. Участники чата упорядочены по активности, однако каждый человек видит самого себя в начале списка.
Например, в чате \(4\) участника, и их порядок равен \([2, 3, 1, 4]\). Тогда
- \(1\)-й пользователь видит порядок \([1, 2, 3, 4]\);
- \(2\)-й пользователь видит порядок \([2, 3, 1, 4]\);
- \(3\)-й пользователь видит порядок \([3, 2, 1, 4]\);
- \(4\)-й пользователь видит порядок \([4, 2, 3, 1]\).
\(k\) человек выложили в чат скриншоты, на которых виден порядок участников, показываемый данному пользователю. Скриншоты были сделаны в течение короткого промежутка времени, и порядок участников не изменился.
Ваша задача — определить, существует ли некоторый порядок, которому соответствуют все скриншоты.
Выходные данные
Выведите \(t\) строк, каждая из которых является ответом на соответствующий набор входных данных. В качестве ответа выведите «YES», если существует хотя бы один порядок участников, при котором могли быть получены все \(k\) скриншотов. Иначе выведите «NO».
Вы можете выводить каждую букву в любом регистре (строчную или заглавную). Например, строки «yEs», «yes», «Yes» и «YES» будут приняты как положительный ответ.
| № | Входные данные | Выходные данные |
|
1
|
10
5 1
1 2 3 4 5
4 4
1 2 3 4
2 3 1 4
3 2 1 4
4 2 3 1
6 2
1 3 5 2 4 6
6 3 5 2 1 4
3 3
1 2 3
2 3 1
3 2 1
10 2
1 2 3 4 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1
1 1
1
5 2
1 2 3 5 4
2 1 3 5 4
3 3
3 1 2
2 3 1
1 3 2
5 4
3 5 1 4 2
2 5 1 4 3
1 5 4 3 2
5 1 4 3 2
3 3
1 3 2
2 1 3
3 2 1
|
YES
YES
YES
YES
NO
YES
YES
YES
YES
NO
|