#include<bits/stdc++.h>
using namespace std;
int n, m, ret;
char a[1005][1005];
int dx[4] = {1, 0, -1, 0};
int dy[4] = {0, 1, 0, -1};
int visit[1005][1005];
int dfs(int i, int j)
{
visit[i][j] = 1;
ret++;
for(int k = 0; k < 4; k++)
{
int x = i + dx[k], y = j + dy[k];
if(x >= 1 && x <= n && y >= 1 && y <= n && !visit[x][y] && a[i][j] != a[x][y])
{
dfs(x, y);
}
}
}
int main()
{
cin >> n >> m;
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n; j++)
{
cin >> a[i][j];
}
}
for(int i = 1; i <= m; i++)
{
memset(visit, 0, sizeof(visit));
ret = 0;
int x, y;
cin >> x >> y;
dfs(x, y);
cout << ret << endl;
}
return 0;
}