#3914. Boilerplate

Boilerplate

Boilerplate

题目描述

编写模板代码是件烦人的事。

冰棍有许多啰嗦的 Jvav 代码需要编写。Jvav 是一种非常简单的语言,代码中只包含小写英文字母。

冰棍有定制的编辑器可以简化这个操作。这个编辑器可以进行以下基础操作:

  • 在代码末尾添加一个字符。例如 abcabcd\texttt{abc} \to \texttt{abcd}
  • 复制代码的一个子串(我们认为一个串是自己的子串)并粘贴到末尾。例如 testtesttest\texttt{test} \to \texttt{testtest}jvavjvavva\texttt{jvav} \to \texttt{jvavva}

一开始编辑器里没有代码。冰棍已经知道自己要输入的编写的代码字符串 ss,且 ss 的长度为 nn。冰棍想知道能不能通过至多 n1n-1 次基础操作输入完代码。

输入格式

输入第一行一个整数 TT

接下来 TT 组数据,每组第一行一个整数 nn,代表字符串长度。

第二行是目标字符串 ss

输出格式

对每组测试,若能在 n1n-1 次操作输入完,输出 YES,否则输出 NO

数据范围

  • 对于 60%60\% 的数据,1n,n10001 \leq n, \sum n \leq 1000
  • 对于 100%100\% 的数据,1T1041 \leq T \leq 10^41n,n21051 \leq n, \sum n \leq 2 \cdot 10^5

样例数据 1

输入:

4
12
darkestnight
8
abacadac
3
qwq
1
x

输出:

NO
YES
NO
NO