Олимпиадный тренинг

Задача . A. Проверка пароля


Монокарп работает над своим новым сайтом, и сейчас он пытается заставить пользователей выбирать надежные пароли.

Монокарп решил, что надежные пароли должны удовлетворять следующим условиям:

  • пароль должен состоять только из строчных латинских букв и цифр;
  • не должно быть цифр, идущих после буквы (то есть, после каждой буквы следует либо другая буква, либо конец строки);
  • все цифры должны быть отсортированы в неубывающем порядке;
  • все буквы должны быть отсортированы в неубывающем порядке.

Обратите внимание, что разрешено, чтобы пароль состоял только из букв или только из цифр.

Монокарпу удалось реализовать первое условие, но он не справляется с оставшимися. Можете ли вы помочь ему проверить пароли?

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

В первой строке записано одно целое число \(t\) (\(1 \le t \le 1000\)) — количество наборов входных данных.

В первой строке каждого набора входных данных записано одно целое число \(n\) (\(1 \le n \le 20\)) — длина пароля.

Во второй строке записана строка, состоящая из ровно \(n\) символов. Каждый символ является либо строчной латинской буквой, либо цифрой.

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

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

Примечание

Во втором наборе входных данных буквы не отсортированы в неубывающем порядке.

В четвертом наборе есть цифра, идущая после буквы — цифра '1' после буквы 'c'.


Примеры
Входные данныеВыходные данные
1 5
4
12ac
5
123wa
9
allllmost
5
ac123
6
011679
YES
NO
YES
NO
YES

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя