给定一个长度为 n 的字符串 s,允许恰好进行一次交换操作:选定两个不同索引 x=y,将 sx 和 sy 互换。判断能否通过这一次交换使得最终字符串满足
s0≤s1≤s2≤⋯≤sn−1.若可以,输出 YES
,否则输出 NO
。
小美现在有一个字符串 s,她现在进行恰好一次操作。
她想知道能不能使得 s 满足 s0≤s1≤s2≤⋅⋅⋅≤sn−1。
你能帮帮她吗?
第一行一个整数 t,表示有 t(1≤t≤1000) 组数据。
每组数据第一行一个整数 n(1≤n≤100000),表示字符串的长度。
每组数据第二行一个字符串 s。
s 仅包含小写字母且单个测试文件满足 ∑n≤105。
对于每组数据,如果可以使得 s 满足 s0≤s1≤s2≤⋅⋅⋅≤sn−1,则输出 YES
,否则输出 NO
。
输入
2
3
acb
3
bca
输出
YES
NO