#include<iostream> #include<algorithm> using namespace std; int N,M; int A[10101],Y[10101]; int X[50]; main() { cin>>N>>M; for(int i=0;i<M;i++) { int n;cin>>n; for(;n--;) { int b;cin>>b; A[i]|=1<<b-1; } cin>>Y[i]; } int cur=0; for(int i=0;i<N;i++) { int id=cur; while(id<M&&!(A[id]>>i&1))id++; if(id==M)continue; if(id>cur) { swap(A[id],A[cur]); swap(Y[id],Y[cur]); } for(int j=0;j<M;j++)if(j!=cur&&A[j]>>i&1) { A[j]^=A[cur]; Y[j]^=Y[cur]; } cur++; } for(int i=0;i<M;i++) { if(A[i]) { int id=0; while(!(A[i]>>id&1))id++; X[id]=Y[i]; } else { if(Y[i]) { cout<<-1<<endl; return 0; } } } for(int i=0;i<N;i++)cout<<X[i]<<endl; }