C1332 [SHOI2013]阶乘字符串

内存限制:256 MB 时间限制:1000 ms

题目描述

给定一个由前 $n$ 个小写字母组成的串 $S$。

串 $S$ 是阶乘字符串当且仅当前 $n$ 个小写字母的全排列(共 $n!$ 种)都作为 $S$ 的子序列(可以不连续)出现。

由这个定义出发,可以得到一个简单的枚举法去验证,但是它实在太慢了。所以现在请你设计一个算法,在 $1$ 秒内判断出给定的串是否是阶乘字符串。

输入格式

输入第 $1$ 行一个整数 $T$,表示会有 $T$ 组数据。

接下来分 $T$ 个块,每块 $2$ 行:

  • 第 $1$ 行一个正整数 $n$,表示 $S$ 由前 $n$ 个小写字母组成。

  • 第 $2$ 行一个字符串 $S$。

输出

对于每组数据,分别输出一行。每行是YES或者NO,表示该数据对应的串 $S$ 是否是阶乘字符串。

样例

样例输入 1

2 2 bbaa 2 aba

样例输出 1

NO YES

提示

$N \le 26$

$T \le 5$

$|S| \le 450$