小青鱼非常喜欢字符串理论。今天,小青鱼邀请你和他一起继续研究人类的昵称。
在小青鱼的世界里,人类的昵称都可以表示为仅包含英文小写字母(a 到 z)的字符串。例如,“qingyu”、“xiuga”是人类的昵称,但“Abacde”不是。
小青鱼认为一个名字 $s$ 是 Lyndon 串,当且仅当对于 $s$ 的每个真后缀* $t$,$s$ 的字典序都严格小于 $t$。例如,“abacde”是一个 Lyndon 串,但“qingyu”不是(因为原字符串的字典序不小于其真后缀 “ingyu”)。
在之前的研究之后,小青鱼发现一些人类的昵称可以被划分为若干个连续的部分,其中没有任何一部分是 Lyndon 串,并且这些部分按字典序非降序排列。
现在,小青鱼给你一个人类的昵称 $s$,你需要判断是否存在整数 $k$ 和 $p_1, p_2, \dots, p_k$,满足 $1 \le k \le |s|$,$1 \le p_1 < p_2 < \dots < p_k = |s|$,且如果我们定义 $p_0 = 0$,那么对于每个 $1 \le i \le k$,字符串 $s[p_{i-1} + 1 \dots p_i]$ 不是 Lyndon 串,且对于每个 $2 \le i \le k$,$s[p_{i-2} + 1 \dots p_{i-1}]$ 的字典序不大于 $s[p_{i-1} + 1 \dots p_i]$。
输入格式
输入包含多组测试数据。输入的第一行包含一个整数 $T$($1 \le T$),表示测试数据的组数。
对于每组测试数据,输入包含一行,其中有一个字符串 $s$($1 \le |s| \le 2 \times 10^6$),表示人类的昵称。
保证所有测试数据的 $|s|$ 之和不超过 $2 \times 10^6$。
输出格式
对于每组测试数据,如果不存在这样的整数,输出一行 “No”。
否则,在第一行输出 “Yes”。在第二行输出一个整数 $k$($1 \le k \le |s|$)。在第三行输出 $k$ 个整数 $p_1, p_2, \dots, p_k$($1 \le p_1 < p_2 < \dots < p_k = |s|$),表示你对昵称的划分。
如果有多个答案,你可以输出其中任意一个。
样例
输入样例 1
2 aaa abcde
输出样例 1
Yes 1 3 No
说明
*真后缀是指非空且不等于原字符串的后缀。例如,“qqoj” 有 3 个真后缀,分别是 “j”、“oj” 和 “qoj”。