深受推理小说《巧克力怪盗蕾娜》启发的可可决定模仿小说中的经典场景。具体步骤如下:
- 步骤 1:首先准备一个大小为 $N \times N$ 的正方形网格状巧克力。这个巧克力可以按 $1 \times 1$ 的单位在任意位置掰下,且已经有一部分被移除了。此时,剩余的单位巧克力至少有 $4$ 个,并且必须连成一块。上下左右相邻的两个单位巧克力是相互连接的,相互连接的单位巧克力集合被称为“一块”。
步骤 2:从这个巧克力中掰下并吃掉一个单位巧克力,使其满足以下条件:
- 掰下该单位巧克力后,剩余的巧克力仍然连成一块,但在此之后,如果切开任意两个相邻的单位巧克力,都会将其分成 $2$ 块。
步骤 3:喊出蕾娜的经典台词:“这次就放过你,下次一定会把巧克力切成碎片的。”
可可已经准备好了满足步骤 1 条件的巧克力,但她正在苦恼应该掰下哪个位置的单位巧克力才能满足步骤 2 的条件。请帮帮可可。
输入格式
第一行包含一个整数 $N$,表示巧克力的大小。$(2 \le N \le 1\,000)$
接下来的 $N$ 行,每行包含 $N$ 个字符,表示巧克力的状态。每个字符为 # 或 .。如果第 $r$ 行第 $c$ 列的字符为 #,表示该位置有单位巧克力;如果为 .,则表示没有。巧克力的左上角格子为第 $1$ 行第 $1$ 列。
保证所有输入均满足步骤 1 的条件。
输出格式
第一行输出一个整数,表示满足步骤 2 条件的可掰下的不同单位巧克力的数量。
接下来的行中,每行输出一个满足条件的单位巧克力的行号和列号,用空格隔开。输出时,按行号从小到大排序;若行号相同,则按列号从小到大排序。
样例
输入 1
3 ### #.# ###
输出 1
8 1 1 1 2 1 3 2 1 2 3 3 1 3 2 3 3
输入 2
3 ##. ### ###
输出 2
1 2 2