#include<bits/stdc++.h>
using namespace std;
char aa[1005][1005];
int a[1005][1005];
int f[1005][1005];
int n,m,sum=0;
void dfs(int x,int y,int ff,int fff) {
f[x][y]=ff;
if(a[x+1][y]!=fff&&f[x+1][y]!=ff) {
if(x<n) {
if(a[x+1][y]==!fff) sum++;
dfs(x+1,y,ff,!fff);
}
}
if(a[x-1][y]!=fff&&f[x-1][y]!=ff) {
if(x>1) {
if(a[x-1][y]==!fff) sum++;
dfs(x-1,y,ff,!fff);
}
}
if(a[x][y-1]!=fff&&f[x][y-1]!=ff) {
if(y>1) {
if(a[x][y-1]==!fff) sum++;
dfs(x,y-1,ff,!fff);
}
}
if(a[x][y+1]!=fff&&f[x][y+1]!=ff) {
if(y<n) {
if(a[x][y+1]==!fff) sum++;
dfs(x,y+1,ff,!fff);
}
}
}
int main() {
int x,y;
cin>>n>>m;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++) {
cin>>aa[i][j];
a[i+1][j+1]=aa[i][j]-'0';
}
for(int i=1;i<=m;i++) {
cin>>x>>y;
sum=1;
dfs(x,y,i,a[x][y]);
cout<<sum<<endl;
}
return 0;
}