奇妙re,不排除rz问题
#include<iostream>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
int t[100005][10], tot, _end[100005], flag;
void ins(int u, string str){
int rel = 0;
for(int i = 0 ; i < str.length() ; i++){
int to = str[i]-'0';
if(t[u][to]) {
u = t[u][to];
if(_end[u] > 0) flag = 1;
}
else {
rel = 1;
t[u][to] = ++tot;
u = t[u][to];
}
}
if(rel == 0) flag = 1;
_end[u]++;
}
int main(){
// freopen("data.in", "r", stdin);
// freopen("trie.out", "w", stdout);
int T;
cin >> T;
while(T--){
for(int i = 0 ; i <= 100000 ; i++){
for(int j = 0 ; j <= 9 ; j++){
t[i][j] = 0;
}
_end[i] = 0;
}
flag=0; tot=0;
int n;
cin >> n;
for(int i = 1 ; i <= n ; i++){
string s; cin >> s; ins(0, s);
}
if(flag) puts("NO");
else puts("YES");
}
return 0;
}