rt
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll,ll> PII;
map<PII,ll> tbl;
ll n,T;
PII p[10010];
ll sum;
int main(){
scanf("%lld%lld",&n,&T);
for(ll i=1;i<=n;i++){
ll m;
scanf("%lld",&m);
for(ll j=1;j<=m;j++){
ll x;
scanf("%lld",&x);
p[i]=(PII){i,x};
tbl[p[i]]++;
}
}
for(ll u=1;u<=T;u++){
ll op,x,y;
scanf("%lld%lld%lld",&op,&x,&y);
if(op==1){
for(ll i=0;i<=9;i++){
PII a=(PII){x,i};
PII b=(PII){y,i};
tbl[b]+=tbl[a];
}
}else{
bool f=true;
for(ll i=0;i<=9;i++){
PII a=(PII){x,i};
PII b=(PII){y,i};
if(tbl[a]!=tbl[b]) f=false;
}
if(f) sum^=u;
}
}
printf("%lld",sum);
return 0;
}