#include<stdio.h>
#define M 5000
int main(int argc, char *argv[])
{
	double x[M][4];
	int i,j,n,p[M],q[M],m,a[M],N;
	char c[2];
	FILE *in=fopen(argv[1],"r");
	fscanf(in,"%d %d",&n,&N);
	for(i=1;i<=n;i++) fscanf(in,"%lf %lf %lf %lf",&x[i][0],&x[i][1],&x[i][2],&x[i][3]);
	for(i=1;i<=N;i++) fscanf(in,"%d %d",&p[i],&q[i]);
	in = fopen(argv[2],"r");
	for(j=1;j<=N;j++)
	{
		fscanf(in, "%1s%d",c,&m);
		for(i=1;i<=m;i++) scanf("%d",&a[i]);
		for(i=2;i<=m;i++)
		{
			if(c[0]=='x')
			{
				if(x[a[i-1]][2]!=x[a[i]][0]){ printf("0"); return 0;}
			}
			else if(c[0]=='y')
			{
				if(x[a[i-1]][3]!=x[a[i]][1]){ printf("0"); return 0;}
			}
			else {printf("0");return 0;}
		}
		if(!((a[1]==p[j]&&a[m]==q[j])||(a[1]==q[j]&&a[m]==p[j]))){puts("0"); return 0;}
	}
    {	puts("1");return 1; }
}
