#YDRG004F. 什么都无法知晓于是化作微风

什么都无法知晓于是化作微风

标题来自 くうになる (feat. 可不&初音ミク)

题目描述

芙宁娜有 nn 个字符串 s1,,sns_1,\cdots,s_n

现在芙宁娜想要从中选出字符串 si,sj,sk,sls_i,s_j,s_k,s_l,并交换 si,sjs_i,s_j 的一个前缀,使得交换完之后它们恰好分别是 sk,sls_k,s_l。形式化地,你需要找到四个字符串 si,sj,sk,sls_i,s_j,s_k,s_l,然后你需要将 si,sjs_i,s_j 划分为一个非空前缀和一个非空后缀,即 si=A+B,sj=C+Ds_i=A+B,s_j=C+D(其中 ++ 表示拼接),且满足 AC,BD,sk=C+B,sl=A+DA\neq C,B\neq D,s_k=C+B,s_l=A+D

例如,四个字符串分别是 $s_i=\texttt{abc},s_j=\texttt{def},s_k=\texttt{dc},s_l=\texttt{abef}$,考虑 $A=\texttt{ab},B=\texttt{c},C=\texttt{d},D=\texttt{ef}$,那么就有

si=A+B,sj=C+D,sk=C+B,sl=A+Ds_i=A+B,s_j=C+D,s_k=C+B,s_l=A+D

于是这一组 (i,j,k,l)(i,j,k,l) 就符合要求。找到任意一组解即可,或报告无解。

注意这里只需要 AC,BDA\neq C,B\neq D,并不要求 i,j,k,li,j,k,l 互不相同。例如

bababb
bababb
baababb
bbabb

也是一组合法的 si,sj,sk,sls_i,s_j,s_k,s_l(尽管 si=sjs_i=s_j)。其中 $A=\texttt{b},B=\texttt{ababb},C=\texttt{ba},D=\texttt{babb}$。

输入格式

本题有多组数据。 第一行一个正整数 TT 表示数据组数。对于每组数据:

第一行一个正整数 nn 表示字符串个数。

接下来 nn 行,每行一个仅由小写字母构成的字符串。

输出格式

对于每组数据:

若无解,输出一行一个字符串 NO

否则,你首先需要输出 YES,然后输出六个正整数 i,j,k,l,p,qi,j,k,l,p,q,表示你选择的字符串是 si,sj,sk,sls_i,s_j,s_k,s_l,且 $A=s_i[1\cdots p],B=s_i[p+1\cdots L_i-1],C=s_j[1\cdots q],D=s_j[q+1\cdots L_j-1]$。

这里字符串的下标和字符串的编号从 11 开始,LiL_i 表示第 ii 个字符串的长度。你需要保证:

  • AC,BDA\neq C,B\neq D
  • 1p<Li,1q<Lj1\le p<L_i,1\le q<L_j
  • si=A+B,sj=C+D,sk=C+B,sl=A+Ds_i=A+B,s_j=C+D,s_k=C+B,s_l=A+D

样例 11 输入

3
5
abcdefzxcvbb
abc
def
abef
dc
5
jasdlkajdcpasjdcmasdpaxza
bababb
bababb
baababb
bbabb
4
adsd
sdjakdsl
ajsldla
asdlsajcp

样例 11 输出

YES
3 2 4 5 1 2
YES
2 2 4 5 1 2
NO

测试点约束

MM 为一组数据中的字符串总长。

对于所有测试点,4n,M5×1054\le n,M\le 5\times 10^5,且每个测试点中每组数据的 nn 之和与 MM 之和均不超过 5×1055\times 10^5

各子任务的详细信息见下表:

子任务编号 nn MM 分值 依赖子任务
Subtask #1 10\le 10 50\le 50 1515
Subtask #2 20\le 20 500\le 500 1010 11
Subtask #3 500\le 500 22
Subtask #4 2000\le 2000 33
Subtask #5 3000\le 3000 5×105\le 5\times 10^5 44
Subtask #6 5×105\le 5\times 10^5 4545 55