Дан массив целых чисел \(a_1, a_2, \ldots, a_n\). За одну операцию можно сделать \(a_i := a_i + 1\), если \(i < n\) и \(a_i \leq a_{i + 1}\), либо \(i = n\) и \(a_i \leq a_1\).
Нужно проверить, может ли за какое-то количество операций (возможно, ноль) массив \(a_1, a_2, \ldots, a_n\) стать равным массиву \(b_1, b_2, \ldots, b_n\). Два массива \(a\) и \(b\) длины \(n\) называются равными, если \(a_i = b_i\) для всех целых чисел \(i\) от \(1\) до \(n\).
Выходные данные
Для каждого набора входных данных выведите «YES», если можно получить массив \(b\), иначе выведите «NO».
Вы можете выводить каждую букву в любом регистре (например, «YES», «Yes», «yes», «yEs» будут распознаны как положительный ответ).
Примечание
В первом наборе входных данных массив \(a\) уже равен массиву \(b\).
Во втором наборе входных данных нельзя получить массив \(b\), потому что для этого нам нужно уменьшить \(a_1\).
В пятом наборе входных данных мы можем применять по порядку операции к элементам с индексами \(4, 3, 3,2,2,2,1,1,1,1\), после чего получить массив \([5,5,5,5,5]\). После этого можно применить по порядку операции к элементам с индексами \(5,4,4,3,1\) и уже получить массив \([6,5,6,7,6]\).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
5 3 1 2 5 1 2 5 2 2 2 1 3 4 3 4 1 2 6 4 2 5 3 2 4 1 4 5 3 5 1 2 3 4 5 6 5 6 7 6
|
YES
NO
NO
NO
YES
|