//看起来很难得样子,一个暴力6的飞起,毕竟电话号码不会很长,
#include <iostream>
#include <cstdio>#include <algorithm>
#include <cstring>
using namespace std;
char a[1009][50];
int main()
{
int N;
while(~scanf("%d%*c",&N)&&N)
{
memset(a,0,sizeof(a));
int flag=1,len;
for(int i=1; i<=N; i++)
gets(a[i]);
for(int i=1; i<=N; i++)
{
int j,k;
for(int k=1; k<i; k++)
{
len=strlen(a[i])>strlen(a[k])?strlen(a[k]):strlen(a[i]);
for( j=0; j<len; j++)
{
if(a[i][j]!=a[k][j])break;
}
if(len==j)
{
flag=0;
break;
}
}
if(flag==0)break;
}
if(flag)printf("YES\n");
else printf("NO\n");
}
}