
/*
task:lab101
lang:C++
*/
#include<iostream>
using namespace std;
int a[100][100];
int p1x,p1y,p2x,p2y;int keyx[100],keyy[100],openx[100],openy[100];
int n,m;int endx,endy;
int winner=0;;
int p;
void vhod()
{cin>>n>>m;
for(int i=1;i<=n;i++)
 for(int j=1;j<=m;j++)
 cin>>a[i][j];
 cin>>p;
 for(int i=1;i<=p;i++)
 {int x,y;
 cin>>x>>y;
 keyx[x]=i;
 keyy[y]=i;
 int k,l;
 cin>>k>>l;
 openx[k]=i;
 openy[l]=i;
}
cin>>p1x>>p1y>>p2x>>p2y>>endx>>endy;
}
int main()
{vhod();
for(int i=1;i<=n;i++)
 for(int j=1;j<=p;j++)
  if(keyx[i]==j)
   for(int k=1;k<=n;k++)
    if(openx[k]==j)
     if(p2x==k&&p1x==i)cout<<1<<endl;
      else if(p1x==k&&p2x==i)cout<<2<<endl;
for(int i=1;i<=m;i++)
 for(int j=1;j<=p;j++)
  if(keyy[i]==j)
   for(int k=1;k<=m;k++)
   if(openy[k]==j)
    if(p2y==k&&p1y==i)cout<<1<<endl;
	 else if(p1y==k&&p2y==i)cout<<2<<endl;
if(a[endx-1][endy-1]==1&&a[endx-1][endy]==1&&a[endx][endy-1]==1&&endx!=n&&endy!=m&&a[endx+1][endy+1]==1&&a[endx+1][endy]==1&&a[endx][endy+1]==1)cout<<0<<endl;
return 0;
}	     
