CF1976A Verify Password

题目描述

Monocarp 正在制作他的新网站,目前的挑战是如何让用户选择强密码。 Monocarp 决定强密码应满足以下条件: - 密码只能由小写拉丁字母和数字组成; - 字母后面不能有数字(因此,每个字母后面要么有另一个字母,要么这个密码字符串结束); - 所有数字应按非递减顺序排序; - 所有字母应按非递减顺序排序。 请注意,密码可以只有字母或数字。 Monocarp 成功地实现了识别第一个条件,但他在其余条件上很吃力。你能帮他验证密码吗?

输入格式

**本题目为多测。** 第一行包含一个整数 $ t $ ( $ 1 \le t \le 1000 $ ) ,为子测试点的数量。 每个子测试点的第一行包含一个整数 $ n $ ( $ 1 \le n \le 20 $ ) ,为密码的长度。 每个子测试点的第二行包含一个字符串,正好由 $ n $ 个字符组成。每个字符都是小写拉丁字母或数字。

输出格式

对于每个子测试点,如果给出的密码很强,则打印 `YES` ,否则打印 `NO` 。 ### 样例 #1 #### 样例输入 #1 ``` 5 4 12ac 5 123wa 9 allllmost 5 ac123 6 011679 ``` #### 样例输出 #1 ``` YES NO YES NO YES ```

说明/提示

在第二个子测试点中,字母没有按照不递减的顺序排列。 在第四个子测试点中,字母后面有一个数字--数字 `1` 在字母 `A` 后面。