```clike
int howManyItem(int n, int recipe[][20]){
int sum = 0;
for(int i=0; i<20; i++){
if(recipe[n][0] == 0){
return 1;
}
else if(recipe[n][i] == 0){
break;
}
else{
sum += howManyItem(recipe[n][i]-1, recipe);
}
}
return sum;
}
int main(){
int N;
scanf("%d",&N);
int item[N];
int recipe[20][20] = {0};
int n, w;
for(int i=0; i<N; i++){
scanf("%d", &n);
if(n == 0){
recipe[i][0] = 0;
// printf("%d 0 %d\n", i, recipe[i][0]);
}
for(int j=0; j<n; j++){
scanf("%d", &w);
recipe[i][j] = w;
// printf("%d %d %d\n", i, j, recipe[i][j]);
}
}
int count = 0;
for(int i=0; i<N; i++){
item[i] = howManyItem(i, recipe);
// printf("%d %d\n", i, item[i]);
count += item[i];
}
printf("%d", count);
return 0;
}
```