#include<bits/stdc++.h>
using namespace std;
long long n;
int a[1002][1002]={};
void dfs(long long x,long long y){
if(a[x+1][y]!=abs(a[x][y]-1)&&a[x][y+1]!=abs(a[x][y]-1)&&a[x][y-1]!=abs(a[x][y]-1)&&a[x][y+1]!=abs(a[x][y]-1)||x>n||y>n||y<1||x<1){
a[x][y]=3;
return;
}
long long xx=a[x][y];
a[x][y]=3;
if(a[x+1][y]==abs(xx-1)){
dfs(x+1,y);
}
if(a[x-1][y]==abs(xx-1)){
dfs(x-1,y);
}
if(a[x][y-1]==abs(xx-1)){
dfs(x,y-1);
}
if(a[x][y+1]==abs(xx-1)){
dfs(x,y+1);
}
}
int main(){
long long n,m;
cin>>n>>m;
int b[n+2][n+2]={};
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
char ch;
cin>>ch;
a[i][j]=int(ch-48);
b[i][j]=a[i][j];
}
}
for(int i=0;i<m;i++){
long long x,y,sum=0;
cin>>x>>y;
dfs(x,y);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(a[i][j]==3){
sum++;
a[i][j]=b[i][j];
}
}
}
cout<<sum<<"\n";
}
return 0;
}