#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define mp make_pair
#define nline cout<<"\n"
#define fast ios_base::sync_with_stdio(false),cin.tie(0)
#define ain(A, B, C) assert(IN(A, B, C))
#define ull unsigned long long int
#define ll long long int
#define pii pair<int,int>
#define MAXX 100009
#define fr(a,b,i) for(int i=a;i<b;i++)
vector<int>G[MAXX];
struct node
{
bool leaf;
struct node* child[10];
node()
{
for(int i=0;i<10;i++)child[i]=NULL;
leaf=false;
}
};
struct node* root;
bool add(string &s)
{
struct node* curr=root;
bool result = false;
for(int i=0;i<s.length();i++)
{
if (curr->leaf) {
result = true;
}
int SS=s[i]-'0';
if(curr->child[SS]==NULL)
curr->child[SS]=new node();
curr=curr->child[SS];
}
for(int i=0;i<10;i++)
{
if(curr->child[i]!=NULL)
return true;
}
if (curr->leaf || result) {
return true;
}
curr->leaf=true;
return false;
}
void deleteme(node* curr)
{
for(int i=0;i<10;i++)
if(curr->child[i])
deleteme(curr->child[i]);
delete curr;
}
int main()
{
fast;
int t;
cin>>t;
while(t--)
{
root=new node();
int n,f=0;
cin>>n;
for(int i=0;i<n;i++)
{
string s;
cin>>s;
if(add(s)){f=1;}
}
if(f)
cout<<"NO"<<endl;
else
cout<<"YES"<<endl;
deleteme(root);
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KCQkJdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCQkJI2RlZmluZSBwYiBwdXNoX2JhY2sKCQkJI2RlZmluZSBtcCBtYWtlX3BhaXIKCQkJI2RlZmluZSBubGluZSBjb3V0PDwiXG4iCgkJCSNkZWZpbmUgZmFzdCBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKSxjaW4udGllKDApCgkJCSNkZWZpbmUgYWluKEEsIEIsIEMpIGFzc2VydChJTihBLCBCLCBDKSkKCQkJI2RlZmluZSB1bGwgdW5zaWduZWQgbG9uZyBsb25nIGludAoJCQkjZGVmaW5lIGxsIGxvbmcgbG9uZyBpbnQKCQkJI2RlZmluZSBwaWkgcGFpcjxpbnQsaW50PgoJCQkjZGVmaW5lIE1BWFggMTAwMDA5CgkJCSNkZWZpbmUgZnIoYSxiLGkpIGZvcihpbnQgaT1hO2k8YjtpKyspCgkJCXZlY3RvcjxpbnQ+R1tNQVhYXTsKCQkJc3RydWN0IG5vZGUKCQkJewoJCQkJYm9vbCBsZWFmOwoJCQkJc3RydWN0IG5vZGUqIGNoaWxkWzEwXTsKCQkJCW5vZGUoKQoJCQkJewoJCQkJCWZvcihpbnQgaT0wO2k8MTA7aSsrKWNoaWxkW2ldPU5VTEw7CgkJCQkJbGVhZj1mYWxzZTsKCQkJCX0KCQkJfTsKCQkJc3RydWN0IG5vZGUqIHJvb3Q7CgkJCWJvb2wgYWRkKHN0cmluZyAmcykKCQkJewoJCQkJc3RydWN0IG5vZGUqIGN1cnI9cm9vdDsKCQkJCWJvb2wgcmVzdWx0ID0gZmFsc2U7CgkJCQlmb3IoaW50IGk9MDtpPHMubGVuZ3RoKCk7aSsrKQoJCQkJewoJCQkJCWlmIChjdXJyLT5sZWFmKSB7CgkJCQkJCXJlc3VsdCA9IHRydWU7CgkJCQkJfQoJCQkJCWludCBTUz1zW2ldLScwJzsKCQkJCQlpZihjdXJyLT5jaGlsZFtTU109PU5VTEwpCgkJCQkJCWN1cnItPmNoaWxkW1NTXT1uZXcgbm9kZSgpOwoJCQkJCWN1cnI9Y3Vyci0+Y2hpbGRbU1NdOwoJCQkJfQoJCQkJZm9yKGludCBpPTA7aTwxMDtpKyspCgkJCSAgIHsKCQkJICAgCWlmKGN1cnItPmNoaWxkW2ldIT1OVUxMKQoJCQkgICAJICByZXR1cm4gdHJ1ZTsKCQkJICAgfQoJCQkgICAKCQkJICAgaWYgKGN1cnItPmxlYWYgfHwgcmVzdWx0KSB7CgkJCSAgIAlyZXR1cm4gdHJ1ZTsKCQkJICAgfQoJCQkgICAKCQkJCWN1cnItPmxlYWY9dHJ1ZTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCQl2b2lkIGRlbGV0ZW1lKG5vZGUqIGN1cnIpCgkJCXsKCQkJCWZvcihpbnQgaT0wO2k8MTA7aSsrKQoJCQkJIGlmKGN1cnItPmNoaWxkW2ldKQoJCQkJICBkZWxldGVtZShjdXJyLT5jaGlsZFtpXSk7CgkJCQlkZWxldGUgY3VycjsKCQkJfQoJCQlpbnQgbWFpbigpCgkJCXsKCQkJCWZhc3Q7CgkJCSAgIGludCB0OwoJCQkgICBjaW4+PnQ7CgkJCSAgIHdoaWxlKHQtLSkKCQkJICAgewoJCQkgICAJcm9vdD1uZXcgbm9kZSgpOwoJCQkgICAJaW50IG4sZj0wOwoJCQkgICAJY2luPj5uOwoJCQkgICAJZm9yKGludCBpPTA7aTxuO2krKykKCQkJICAgCXsKCQkJICAgCQlzdHJpbmcgczsKCQkJICAgCQljaW4+PnM7CgkJCSAgIAkJaWYoYWRkKHMpKXtmPTE7fQoJCQkgICAJfQoJCQkgICAJaWYoZikKCQkJICAgCWNvdXQ8PCJOTyI8PGVuZGw7CgkJCSAgIAllbHNlCgkJCSAgIAljb3V0PDwiWUVTIjw8ZW5kbDsKCQkJICAgIAlkZWxldGVtZShyb290KTsKCQkJICAgfQoJCQkgICByZXR1cm4gMDsKCQkJfQ==