#include<bits/stdc++.h>
using namespace std;
int a[1006][1006],f[1006][1006];
int dx[4]={-1,0,1,0},dy[4]{0,1,0,-1},ans;
void dfs(int x,int y){
++ans;
for(int i=0;i<=3;i++){
int nx=x+dx[i],ny=y+dy[i];
if(a[nx][ny]==-1)continue;
if(a[nx][ny]+a[x][y]==1&&f[nx][ny]==0){
f[nx][ny]=1;
dfs(nx,ny);
}
}return ;
}
int main(){
int n,m;
cin>>n>>m;
string s;
memset(a,-1,sizeof(a));
for(int i=1;i<=n;i++){
cin>>s;
for(int j=0;j<s.size();j++){
a[i][j+1]=s[j]-'0';
}
}int x,y;
for(int i=1;i<=m;i++){
cin>>x>>y;
ans=0;
memset(f,0,sizeof(f));
f[x][y]=1;
dfs(x,y);
cout<<ans<<endl;
}
return 0;
}