#include<bits/stdc++.h>
using namespace std;
int n,x,y,m,ans,vis[1001][1001];
char s[1001][1001];
void dfs(int a,int b){
if(a<1||b<1||a>n||b>n) return ;
vis[a][b]=1;
if(vis[a][b]==0) ans++;
if(s[a-1][b]!=s[a][b]){
dfs(a-1,b);
}
if(s[a-1][b]!=s[a][b]){
dfs(a-1,b);
}
if(s[a][b-1]!=s[a][b]){
dfs(a,b-1);
}
if(s[a][b+1]!=s[a][b]){
dfs(a,b+1);
}
}
int main(){
cin>>n>>m;
for (int i=1;i<=n;i++)
scanf("%s",s[i]);
for(int i=1;i<=m;i++){
cin>>x>>y;
dfs(x,y);
cout<<ans<<endl;
ans=0;
}
return 0;
}