// 佳哥版本 32 ms
#include<stdio.h>
#include<string.h>
#include<vector>
using namespace std;
const int maxn = 105;
int n;
int time;
vector<int>map[maxn];
int low[maxn],dfn[maxn];
bool iscut[maxn];
void tarjan( int u, int fa )
{
low[u] = dfn[u] = ++time;
int child = 0;
for( int i = 0; i < map[u].size(); i ++ )
{
int v = map[u][i];
if( !dfn[v] )
{
child ++;
tarjan( v,u );
low[u] = low[u] <= low[v] ? low[u]:low[v];
if( low[v] >= dfn[u] )
iscut[u] = true;
}
else if( dfn[v] < dfn[u] && v != fa )
low[u] = low[u] <= dfn[v] ? low[u]:dfn[v];
}
if( fa < 0 && child == 1 )
iscut[u] = 0;
}
int main()
{
int u,v;
while( scanf("%d",&n) != EOF , n )
{
for( int i = 1; i <= n; i ++ )
map[i].clear();
memset( low,0,sizeof(low) );
memset( dfn,0,sizeof(dfn) );
memset( iscut,0,sizeof(iscut) );
while (scanf("%d", &u) && u)
{
while (getchar() != '\n')
{
scanf("%d", &v);
map[u].push_back(v);
map[v].push_back(u);
}
}
time = 0;
tarjan( 1,-1 );
int ans = 0;
for( int i = 1; i <= n; i ++ )
{
ans += iscut[i];
}
printf("%d\n",ans);
}
return 0;
}
/* 16MS
/*
POJ-1144 Network 求割点 2013.09.22
*/
// 佳哥版本 32 ms
#include<stdio.h>
#include<string.h>
#include<vector>
using namespace std;
const int maxn = 105;
int n;
int time,root,son;
vector<int>map[maxn];
int low[maxn],dfn[maxn];
bool iscut[maxn];
void tarjan( int u, int fa )
{
low[u] = dfn[u] = ++time;
for( int i = 0; i < map[u].size(); i ++ )
{
int v = map[u][i];
if( !dfn[v] )
{
tarjan( v,u );
if( u == root ) //特判根
son ++;
else
{
low[u] = low[u] <= low[v] ? low[u]:low[v];
if( low[v] >= dfn[u] )
iscut[u] = true;
}
}
else
low[u] = low[u] <= dfn[v] ? low[u]:dfn[v];
}
}
int main()
{
int u,v;
while( scanf("%d",&n) != EOF , n )
{
for( int i = 1; i <= n; i ++ )
map[i].clear();
memset( low,0,sizeof(low) );
memset( dfn,0,sizeof(dfn) );
memset( iscut,0,sizeof(iscut) );
while (scanf("%d", &u) && u)
{
while (getchar() != '\n')
{
scanf("%d", &v);
map[u].push_back(v);
map[v].push_back(u);
}
}
time = 0,son = 0,root = 1;
tarjan( 1,-1 );
int ans = 0;
if( son > 1 )
iscut[root] = true;
for( int i = 1; i <= n; i ++ )
{
ans += iscut[i];
}
printf("%d\n",ans);
}
return 0;
}
*/