#include<bits/stdc++.h>
#define ll long long
#define yy yyy
#define map mapp
const int N1=100005;
const int N2=105;
using namespace std;
int wx[5]={0,+1,-1,0,0},wy[5]={0,0,0,+1,-1};
int map[N1][N2],ans[N1],n,m;
int k=0,s;
bool a[N1][N2];
void dfs(int x,int y){
if(x<1||y<1||x>n||y>n){
ans[k]--;
return;
}
map[x][y]=k;
for(int i=1;i<=4;i++){
int xx=x+wx[i],yy=y+wx[i];
if(a[x][y]!=a[xx][yy]){
dfs(xx,yy);
ans[k]++;
}
}
return;
}
int main(){
std::ios::sync_with_stdio(0);
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
char b;cin>>b;
if(b=='1') a[i][j]=1;
}
}
for(int i=1;i<=m;i++){
int x,y;
cin>>x>>y;
if(map[x][y]==0) ++k,dfs(x,y);
//cout<<map[x][y]<<endl;//
cout<<ans[map[x][y]]<<endl;
}
return 0;
}