#include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; int ch[30000][30]; int val[30000][30]; char str[1000+10][20+10]; int sz; int idx(char c) {return c-'a';} void insert(char *s) { int u=0; int len=strlen(s); int i; for(i=0;i<len;i++) { int c=idx(s[i]); while(!ch[u][c]) { memset(ch[sz],0,sizeof(sz)); ch[u][c]=sz++; } val[u][c]++; u=ch[u][c]; } } void print(char *s) { int u=0; int len=strlen(s); int i,j,k; for(i=0;i<len;i++) { int c=idx(s[i]); printf("%c",s[i]); if(val[u][c]==1) return; u=ch[u][c]; } return ; } int main() { int n=0; int i,j,k; sz=1; memset(ch[0],0,sizeof(ch[0])); memset(val,0,sizeof(val)); while(scanf("%s",str[n])!=EOF) { insert(str[n]); n++; } for(i=0;i<n;i++) { printf("%s ",str[i]); print(str[i]); printf(" "); } return 0; }