#include<stdio.h>
#include<string.h>
int main(void){
	int n,gn,mem,i,j,mm,a,b,c,hum,ans,fnum,sw,g,ml[100];
	char list[100][20][20];
	char fl[10000][20];
	char x;
	while(1){
		scanf("%d",&n);
		if(n==0){
			break;
		}
		for(a=0;a<100;a++){
			for(b=0;b<20;b++){
				for(c=0;c<20;c++){
					list[a][b][c]=0;
					ml[a]=0;
				}
			}
		}
		for(a=0;a<10000;a++){
			for(b=0;b<20;b++){
				fl[a][b]=0;
			}
		}
		gn=mem=i=0;
		mm=0;
		while(scanf("%c",&x)==1){
			if(x!='\n'&&x!=0){
				if(x==':'||x==','){
					mem++;
					i=0;
					ml[gn]++;
					if(gn==0){
						mm++;
					}
				}
				else if(x=='.'){
					if(gn==0){
						mm++;
					}
					ml[gn]++;
					gn++;
					mem=0;
					i=0;
					if(gn==n){
						break;
					}
				}
				else{
					list[gn][mem][i]=x;
					i++;
				}
			}
		}
		fnum=sw=0;
		hum=1;
		while(hum!=mm){
			sw=0;
			for(i=1;i<n;i++){
				if(strcmp(list[0][hum],list[i][0])==0){
					sw++;
					g=i;
					break;
				}
			}
			if(sw==0){
				for(a=0;a<20;a++){
					fl[fnum][a]=0;
				}
				strcpy(fl[fnum],list[0][hum]);
				fnum++;
			}
			else{
				i=1;
				while(ml[g]!=i){
					for(a=0;a<20;a++){
						fl[fnum][a]=0;
					}
					strcpy(fl[fnum],list[g][i]);
					fnum++;
					i++;
				}
			}
			hum++;
		}
		sw=1;
		while(1){
			if(sw==0){
				break;
			}
			sw=0;
			for(i=0;i<fnum;i++){
				for(j=1;j<n;j++){
					if(strcmp(list[j][0],fl[i])==0){
						sw++;
						break;
					}
				}
				if(sw!=0){
					break;
				}
			}
			if(sw!=0){
				for(i=i;i<fnum;i++){//tumeru
					for(a=0;a<20;a++){
						fl[i][a]=0;
					}
					strcpy(fl[i],fl[i+1]);
				}
				fnum--;
				i=1;
				while(ml[j]!=i){
					for(a=0;a<20;a++){
						fl[fnum][a]=0;
					}
					strcpy(fl[fnum],list[j][i]);
					fnum++;
					i++;
				}
			}
		}
		ans=0;
		for(i=0;i<fnum;i++){
			if(fl[i][0]==0){
				continue;
			}
			for(j=i+1;j<fnum;j++){
				if(strcmp(fl[i],fl[j])==0){
					fl[j][0]=0;
				}
			}
		}
		for(i=0;i<fnum;i++){
			if(fl[i][0]!=0){
				ans++;
			}
		}
		printf("%d\n",ans);
	}
	return 0;
}