#include<bits/stdc++.h>
using namespace std;
int a[1005][1005];
bool vis[1005][1005];
int dx[5]={0,-1,0,0,1};
int dy[5]={0,0,-1,1,0};
int n,m;
string x;
int l;
int sum;
void dfs(int x,int y){
sum++;
for(int i=1;i<=4;i++){
int p=x+dx[i];
int q=y+dy[i];
if(a[p][q]!=a[x][y]&&vis[p][q]==0&&p>=1&&p<=n&&q>=1&&q<=l){
vis[p][q]=1;
dfs(p,q);
}
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>x;
l=x.size();
for(int j=1;j<=l;j++) a[i][j]=x[j-1]-'0';
}
for(int p=1;p<=m;p++){
int i,j;
cin>>i>>j;
vis[i][j]=1;
dfs(i,j);
cout<<sum<<endl;
sum=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=l;j++) vis[i][j]=0;
}
}