#include<bits/stdc++.h>
using namespace std;
const int N=1005;
char a[N][N];
int n,t,step=1;
int dir[4][2]={-1,0,1,0,0,-1,0,1};
bool vis[N][N];
void dfs(int x,int y){
for(int i=0;i<4;i++){
int bx=x+dir[i][0],by=y+dir[i][1];
if(bx<0||bx>=n||by<0||by>=n) continue;
if(vis[bx][by]) continue;
if(a[x][y]==a[bx][by]) continue;
vis[bx][by]=1;
step++;
dfs(bx,by);
}
}
int main(){
cin>>n>>t;
for(int i=0;i<n;i++){
scanf("%s",a[i]);
}
while(t--){
memset(vis, 0, sizeof(vis));
int x,y;
scanf("%d%d",&x,&y);
vis[x-1][y-1]=1;
dfs(x-1,y-1);
printf("%d\n",step);
step=1;
}
return 0;
}