#524. 01迷宫

01迷宫

有一个仅由数字0与1组成的n×n格迷宫。若你位于一格0上,那么你可以移动到相邻4格中的某一格1上,同样若你位于一格1上,那么你可以移动到相邻4格中的某一格0上。

你的任务是:对于给定的迷宫,询问从某一格开始能移动到多少个格子(包含自身)。

输入格式

输入文件的第1行为两个正整数n,m。

下面n行,每行n个字符,字符只可能是0或者1,字符之间没有空格。

接下来m行,每行2个用空格分隔的正整数i,j,对应了迷宫中第i行第j列的一个格子,询问从这一格开始能移动到多少格。

输出格式

输出文件包括m行,对于每个询问输出答案。

样例

样例输入

2 2
01
10
1 1
2 2

样例输出

4
4

【样例说明】
所有格子互相可达。

来源

图论练习

数据范围与提示

  • 对于20%的数据,n≤10;
  • 对于40%的数据,n≤50;
  • 对于50%的数据,m≤5;
  • 对于60%的数据,n≤100,m≤100;
  • 对于100%的数据,n≤1000,m≤1000000。
  • 时间限制:1000ms1000\mathrm{ms}
  • 空间限制:131072KB131072\mathrm{KB}