#include<bits/stdc++.h>
using namespace std;
#define I(e) for(long long int i=0;i<e;i++)
#define J(w) for(long long int j=0;j<w;j++)
#define K(w) for(long long int k=0;k<w;k++)
long long int a[1005][1005];
long long int n,m;
long long int f[4]={-1,0,0,1};
long long int s[4]={0,-1,1,0};
long long int b[1005];
long long int c[1005][1005];
long long int dp(long long int x,long long int y,long long int ct,long long int num){
if(a[x][y]==num){
return 0;
}
else if(a[x][y]!=-1&&a[x][y]<num){
return b[a[x][y]];
}
a[x][y]=num;
I(4){
if(0<=x+f[i]&&x+f[i]<n){
if(0<=y+s[i]&&y+s[i]<n&&c[x+f[i]][y+s[i]]==!c[x][y]){
ct+=dp(x+f[i],y+s[i],1,num);
}
}
}
b[num]=ct;
return ct;
}
int main(){
memset(a,-1,sizeof(a));
cin>>n>>m;
I(n){
J(n){
scanf("%1d",&c[i][j]);
}
}
I(m){
long long int r,t;
cin>>r>>t;
cout<<dp(r-1,t-1,1,i)<<'\n';
}
return 0;
}