第一行包含一个整数 n(1 <= n <= 100000),表示字符串的长度。
第二行包含一个长度为 n 的字符串 S,保证仅由小写英文字母组成。
如果 z 是完美排列,输出一个整数,表示可能的排列序列数量对取模的结果。
否则,输出字符串 NO。
在样例 1 中,S = "aaa"。
i=1:后缀为 "aaa",与 S 的 LCP 长度为 3,z[1] = 3。
i=2:后缀为 "aa",与 S 的 LCP 长度为 2,z[2] = 2。
i=3:后缀为 "a",与 S 的 LCP 长度为 1,z[3] = 1。
数组 z = [3, 2, 1],其构成的多重集 M(z) = {1, 2, 3},恰好是 1 到 3 的一个排列,满足“完美排列”的条件。
保持集合 {1, 2, 3} 不变进行重新排列,共有 (1,2,3), (1,3,2), (2,1,3), (2,3,1), (3,1,2), (3,2,1) 共 6 种不同的序列,对 模数 取模后依然是 6。