#include <iostream>
#include <map>
#include <set>
#include <string>
using namespace std;
set <string> S;
map <string,int> M;
int n;
string str[101];

int saiki(int ima){
  int sum=0;
  string a;
  for(int i=0;i<str[ima].size();i++){
    if(str[ima][i] ==','){
      if(M.count(a)==1 && S.count(a)==0) S.insert(a),sum+=saiki(M[a]);
      else if(S.count(a)==0)sum++;
      S.insert(a);
      a="";
      continue;
    }
    a+=str[ima][i];
  }
  return sum;
}

int main(){

  while(1) {
    cin >>n;
    if(n==0) break;
    S.clear(),M.clear();
    for(int i=0;i<n;i++){
      cin >> str[i];
      string a,b;
      for(int j=0;j<str[i].size();j++){
	if(str[i][j] == ':') M[a]=i,a="";
	if(str[i][j] !=':')a+=str[i][j];
      }
      str[i] = a;
      str[i][str[i].size()-1]=',';
    }
    cout <<saiki(0)<<endl;;
  }
  return 0;
}