# include <stdio.h>
# include <string.h>
# define _fin "balanta.in"
# define _fout "balanta.out"
# define maxn 1032
int h[maxn], l[maxn];
int main()
{
freopen(_fin, "r", stdin);
freopen(_fout,"w", stdout);
int i, j, n, m, a[maxn], b[maxn], k, x, sol, card;
for (scanf("%d%d", &n, &m), i=1; i<=n; i++) h[i] = l[i] = 1;
for (j=1; j<=m; j++)
{
memset(a, 0, sizeof(a)), memset(b, 0, sizeof(b));
for (scanf("%d", &k), i=1; i<=k; i++) scanf("%d", &x), a[x]=1;
for (i=1; i<=k; i++) scanf("%d", &x), b[x]=1;
scanf("%d", &x);
if ( !x )
for (i=1; i<=n; i++)
h[i] &= (!a[i]), h[i] &= (!b[i]),
l[i] &= (!a[i]), h[i] &= (!b[i]);
else if ( x==1 )
for (i=1; i<=n; i++)
h[i] &= a[i], l[i] &= b[i];
else if ( x==2 )
for (i=1; i<=n; i++)
l[i] &= a[i], h[i] &= b[i];
}
for (card=sol=0, i=1; i<=n; i++) card += h[i]+l[i], sol += ( h[i] + l[i] ) * i;
printf("%d\n", card==1?sol : 0);
return 0;
}