#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
struct Trie
{
int num;
Trie *next[10];
}root;
void createTrie(char *str)
{
int len = strlen(str);
Trie *p = &root, *q;
for(int i = 0; i < len; i++)
{
int id = str[i] - '0';
if(p->next[id] == NULL)
{
q = new Trie;
q->num = 1;
for(int j = 0; j < 10; j++) q->next[j] = NULL;
p->next[id] = q;
p = p->next[id];
}
else
{
p->next[id]->num++;
p = p->next[id];
}
}
}
int findTrie(char *str)
{
int len = strlen(str);
Trie *p = &root;
for(int i = 0; i < len; i++)
{
int id = str[i] - '0';
p = p->next[id];
}
return p->num;
}
void Free(Trie *p)
{
for(int i = 0; i < 10; i++)
if(p->next[i]) Free(p->next[i]);
delete p;
}
int main()
{
int t;
scanf("%d", &t);
while(t--)
{
int n;
char str[10010][15];
scanf("%d", &n);
for(int i = 0; i < 10; i++) root.next[i] = NULL;
for(int i = 0; i < n; i++)
{
scanf("%s", str[i]);
createTrie(str[i]);
}
int ans;
for(int i = 0; i < n; i++)
{
ans = findTrie(str[i]);
if(ans > 1)
{
printf("NO\n");
break;
}
}
if(ans == 1) printf("YES\n");
for(int i = 0; i < 10; i++)
if(root.next[i]) Free(root.next[i]);
}
}