#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll MOD=1e9+7;
const int N=1e3+10;
int a[N][N],b[N][N],s[2010],l[2010];
int n,m;
void upd(int x,int y){
if(b[x][y]) return;
b[x][y]=1;
s[x+y]++;
if((x-1>=1 && y+1<=m && b[x-1][y+1]) || x-1<1 || y+1>m){
if(y+1<=m && !b[x][y+1]) upd(x,y+1);
if(x-1>=1 && !b[x-1][y]) upd(x-1,y);
}
if((x+1<=n && y-1>=1 && b[x+1][y-1]) || x+1>n || y-1<1){
if(x+1<=n && !b[x+1][y]) upd(x+1,y);
if(y-1>=1 && !b[x][y-1]) upd(x,y-1);
}
}
int main(){
cin>>n >>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
if(a[i][j]) upd(i,j);
l[i+j]++;
}
}
int q; cin>>q;
while(q--){
int x,y; cin>>x >>y;
if(s[x+y]!=l[x+y]-1 || b[x][y]) upd(x,y),cout<<1 <<"\n";
else cout<<0 <<"\n";
}
}