#include<bits/stdc++.h>
#define ll long long
#define ld long double
#define F first
#define S second
#define Tsetso ios_base::sync_with_stdio(0) ; cin.tie(0) ;
#define Read freopen("minmax.in","r",stdin);
#define matrix vector<vector<ll>>
using namespace std;
const int N = 2e3+50;
int n , dfn[N],lowlink[N] , dfnid , ans;
vector < int > g[N];
void dfs( int node , int par )
{
dfn[node] = lowlink[node] = ++dfnid;
int cnt = 0 , ok = 0;
for ( auto child : g[node])
{
if ( child == par)
continue;
if (!dfn[child])
{
dfs(child,node);
lowlink[node] = min(lowlink[node],lowlink[child]);
if ( lowlink[child] >= dfn[node] && par != -1)
ok = 1 ;
++cnt;
}
else
lowlink[node] = min(lowlink[node],lowlink[child]);
}
if ( par == -1 && cnt > 1)
ok = 1 ;
ans += ok ;
}
int main(){
Tsetso
while (cin >> n && n) {
string str = "11";
cin.ignore();
dfnid = 0;
for ( int i = 1 ; i <= n ; i++)
g[i].clear(),dfn[i] = 0;
getline(cin,str);
while( str.size() != 1 || str[0] != '0' )
{
vector < int > v ;
str.push_back(' ');
int res = 0 ;
for ( int i = 0 ; i < str.size() ; i++)
{
if (str[i] != ' ')
res *= 10 , res += str[i] - '0';
else if (res)
v.push_back(res),res = 0 ;
}
for ( int i = 1 ; i < v.size() ; i++)
g[v[0]].push_back(v[i]),g[v[i]].push_back(v[0]);
getline(cin,str);
}
for ( int i = 1 ; i <= n ; i++)
if (!dfn[i])
dfs(i,-1);
cout << ans << '\n';
ans = 0 ;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBsZCBsb25nIGRvdWJsZQojZGVmaW5lIEYgZmlyc3QKI2RlZmluZSBTIHNlY29uZAojZGVmaW5lIFRzZXRzbyBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApIDsgY2luLnRpZSgwKSA7CiNkZWZpbmUgUmVhZCBmcmVvcGVuKCJtaW5tYXguaW4iLCJyIixzdGRpbik7CiNkZWZpbmUgbWF0cml4IHZlY3Rvcjx2ZWN0b3I8bGw+Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgTiA9IDJlMys1MDsKaW50IG4gLCBkZm5bTl0sbG93bGlua1tOXSAsIGRmbmlkICwgYW5zOwp2ZWN0b3IgPCBpbnQgPiBnW05dOwp2b2lkIGRmcyggaW50IG5vZGUgLCBpbnQgcGFyICkKewogICAgZGZuW25vZGVdID0gbG93bGlua1tub2RlXSA9ICsrZGZuaWQ7CiAgICBpbnQgY250ID0gMCAsIG9rID0gMDsKICAgIGZvciAoIGF1dG8gY2hpbGQgOiBnW25vZGVdKQogICAgewogICAgICAgIGlmICggY2hpbGQgPT0gcGFyKQogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICBpZiAoIWRmbltjaGlsZF0pCiAgICAgICAgewogICAgICAgICAgICBkZnMoY2hpbGQsbm9kZSk7CiAgICAgICAgICAgIGxvd2xpbmtbbm9kZV0gPSBtaW4obG93bGlua1tub2RlXSxsb3dsaW5rW2NoaWxkXSk7CiAgICAgICAgICAgIGlmICggbG93bGlua1tjaGlsZF0gPj0gZGZuW25vZGVdICYmIHBhciAhPSAtMSkKICAgICAgICAgICAgICAgIG9rID0gMSA7CiAgICAgICAgICAgICsrY250OwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgICAgIGxvd2xpbmtbbm9kZV0gPSBtaW4obG93bGlua1tub2RlXSxsb3dsaW5rW2NoaWxkXSk7CiAgICB9CiAgICBpZiAoIHBhciA9PSAtMSAmJiBjbnQgPiAxKQogICAgICAgICAgICBvayA9IDEgOwogICAgYW5zICs9IG9rIDsKfQoKaW50ICBtYWluKCl7CiAgICBUc2V0c28KICAgIHdoaWxlIChjaW4gPj4gbiAmJiBuKSB7CiAgICAgICAgc3RyaW5nIHN0ciA9ICIxMSI7CiAgICAgICAgY2luLmlnbm9yZSgpOwogICAgICAgIGRmbmlkID0gMDsKICAgICAgICBmb3IgKCBpbnQgaSA9IDEgOyBpIDw9IG4gOyBpKyspCiAgICAgICAgICAgIGdbaV0uY2xlYXIoKSxkZm5baV0gPSAwOwogICAgICAgIGdldGxpbmUoY2luLHN0cik7CiAgICAgICAgd2hpbGUoIHN0ci5zaXplKCkgIT0gMSB8fCBzdHJbMF0gIT0gJzAnICkKICAgICAgICB7CiAgICAgICAgICAgIHZlY3RvciA8IGludCA+IHYgOwogICAgICAgICAgICBzdHIucHVzaF9iYWNrKCcgJyk7CiAgICAgICAgICAgIGludCByZXMgPSAwIDsKICAgICAgICAgICAgZm9yICggaW50IGkgPSAwIDsgaSA8IHN0ci5zaXplKCkgOyBpKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmIChzdHJbaV0gIT0gJyAnKQogICAgICAgICAgICAgICAgICAgIHJlcyAqPSAxMCAsIHJlcyArPSBzdHJbaV0gLSAnMCc7CiAgICAgICAgICAgICAgICBlbHNlIGlmIChyZXMpCiAgICAgICAgICAgICAgICAgICAgdi5wdXNoX2JhY2socmVzKSxyZXMgPSAwIDsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IgKCBpbnQgaSA9IDEgOyBpIDwgdi5zaXplKCkgOyBpKyspCiAgICAgICAgICAgICAgICAgICAgZ1t2WzBdXS5wdXNoX2JhY2sodltpXSksZ1t2W2ldXS5wdXNoX2JhY2sodlswXSk7CiAgICAgICAgICAgIGdldGxpbmUoY2luLHN0cik7CiAgICAgICAgfQogICAgICAgIGZvciAoIGludCBpID0gMSA7IGkgPD0gbiA7IGkrKykKICAgICAgICAgICAgICAgIGlmICghZGZuW2ldKQogICAgICAgICAgICAgICAgICAgICAgICBkZnMoaSwtMSk7CiAgICAgICAgY291dCA8PCBhbnMgPDwgJ1xuJzsKICAgICAgICBhbnMgPSAwIDsKICAgIH0KfQ==