[SHOI2013]阶乘字符串
题号:NC20427
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

给定一个由前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

输出

复制
NO
YES

说明

【样例解释】
第一组数据中,ab这个串没有作为子序列出现。

备注:

N<=26
T<=5
|S|<=450