#include<stdio.h>
int main(void)
{
	int C,n,d,r,c,flg,cnt,i,j,k,acnt,bt[25000],by[25000],N,m;
	char p[1000][1001];
	scanf("%d %d",&C,&n);
	for(i=0;i<n;i++){
		scanf("%s",p[i]);
	}
	cnt=0;
	m=1;
	for(i=0;i<n/2;i++){
		for(j=0;j<n/2;j++){
			flg=0;
			if(p[i][j]!=p[i][n-j-1]){
				flg=1;
				bt[m][cnt]=i;
				by[m][cnt]=j;
				cnt++;
			}
			if(p[i][j]!=p[n-i-1][j]&&flg==0){
				flg=1;
				bt[m][cnt]=i;
				by[m][cnt]=j;
				cnt++;
			}
			if(p[i][j]!=p[n-i-1][n-j-1]&&flg==0){
				bt[m][cnt]=i;
				bt[m][cnt]=j;
				cnt++;
			}
		}
	}
	acnt=0;
	if(cnt==0){
		acnt++;
	}
	for(i=2;i<=C;i++){
		scanf("%d",&d);
		for(j=0;j<d;j++){
			scanf("%d %d",&r,&c);
			r=r-1;
			c=c-1;
			if(p[r][c]=='1'){
				p[r][c]='0';
			}
			if(p[r][c]=='0'){
				p[r][c]='1';
			}
			if(r>=n/2){
				r=n-r-1;
			}
			if(c>=n/2){
				c=n-c-1;
			}
			flg=0;
			for(k=0;k<cnt;k++){
				if(bt[m][k]==r&&by[m][k]==c){
					flg=1;
					if(p[r][c]==p[r][n-c-1]&&p[r][c]==p[n-r-1][c]&&p[r][c]==p[n-r-1][n-c-1]){
						bt[m][k]=-1;
						flg=2;
					}
				}
			}
			if(flg==0){
				