问题 4567 --旋转子串

4567: 旋转子串

时间限制: 1 Sec  内存限制: 128 MB
提交: 39  解决: 24
[提交][状态][命题人:]

题目描述

给你一个由n个小写字母组成的字符串s。定义它的子串是字符串一段连续的子区间。例如,“acab”是“abacaba”的子串(3号位开始到6号位结束,但“aa”或“d”不是这个字符串的子串。)

你要在输入的字符串s中选择一个子串然后旋转它(例如sl,sl+1,……sr变为sr,sr-1,……,sl),通过旋转这个字符串s的一些子串来使得字符串s的字典序变小,注意不必要获得字典序最小的字符串。

如果可以通过旋转子串使字符串s的字典序变小,请输出“YES”,如果不可以通过旋转子串使字符串s的字典序变小,请输出“NO”。

输入

第一行是字符串的长度n。(2<=n<=3*10⁵)

第二行是仅包括小写字母的字符串s.

输出

如果不可能通过旋转给的字符串的一些子串来获得更无序的串,输出“NO”,否则输出“YES”。

样例输入
Copy
7
abacaba
样例输出
Copy
YES

提示

样例2输入

6
aabcfg

样例2输出

NO

来源

[提交][状态]