#pragma comment(linker, "/STACK:60777216") #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long double ld; typedef long long ll; typedef pair pii; typedef pair pdd; typedef vector vi; typedef vector vd; typedef pair pl; #define FOR(i,a,b) for(int i=(a);i<(b);i++) #define REP(i,n) FOR(i,0,n) #define SORT(v) sort((v).begin(),(v).end()) #define UN(v) SORT(v),(v).erase(unique((v).begin(),(v).end()),(v).end()) #define CL(a,b) memset(a,b,sizeof a) #define pb push_back int n; bool v[11][11]; int main(){ #ifdef LocalHost freopen("input.txt","r",stdin); //freopen("output.txt","w",stdout); #endif #ifndef LocalHost freopen("diet.in","r",stdin); freopen("diet.out","w",stdout); #endif cin>>n; REP(i,n){ int x; cin>>x; REP(j,x){ int y; cin>>y; v[i][y-1]=true; } } vi a; REP(i,n)a.pb(i); int res=0; do{ bool good = 1; REP(i,n){ if(v[a[i]][i]){good=0;break;} } if(good)res++; }while(next_permutation(a.begin(),a.end())); cout<