#include <stdio.h> #include <string.h> int sort(char str[]) { int set[11]; for(int i=0;i<11;i++) set[i]=0; char qe[11]; int first=0,rear=0; qe[rear++]=str[0]; set[str[0]-'0']=1; while(first!=rear) { char ch=qe[first++]; for(int i=0;i<strlen(str);i++) { if(ch>str[i]&&set[str[i]-'0']==0) { set[str[i]-'0']=1; qe[rear++]=str[i]; break; } } for(int i=0;i<strlen(str);i++) { if(ch<str[i]&&set[str[i]-'0']==0) { set[str[i]-'0']=1; qe[rear++]=str[i]; break; } } } for(int i=0;i<strlen(str);i++) { str[i]=qe[i]; } return 0; } int main() { while(1) { int n; char std[11]; char in[11]; scanf("%d",&n); if(n==0) { break; } scanf("%s",std); sort(std); for(int i=0;i<n;i++) { scanf("%s",in); sort(in); if(strcmp(in,std)==0) { printf("YES\n"); } else { printf("NO\n"); } } } return 1; } /************************************************************** Problem: 2196 User: admin Language: C Result: Accepted Time:10 ms Memory:1144 kb ****************************************************************/