#include #include #include using namespace std; bool e[26][26]; char str[1000]; int a[10],b[10],cnt,vis[26]; int main() { #ifdef local freopen("pro.in","r",stdin); #endif while(scanf("%s",str)==1&&str[0]!='#') { memset(e,0,sizeof(e)); memset(vis,0,sizeof(vis)); cnt=0; char *c=str,f; while(*c!=0) { f=*c; if(!vis[f-'A']) { vis[f-'A']=1; a[cnt++]=f-'A'; } c+=2; while(*c!=0&&*c!=';') { if(!vis[*c-'A']) { vis[*c-'A']=1; a[cnt++]=*c-'A'; } e[f-'A'][*c-'A']=e[*c-'A'][f-'A']=1; c++; } if(*c==';') c++; } sort(a,a+cnt); int res=1<<30,now; do { now=0; for(int i=0;i %d\n",res); } return 0; }