#686. 星灯校准

星灯校准

题目描述

学校准备在一张由字符组成的灯板上检查“十字星灯”。灯板中字符 # 表示亮灯,字符 . 表示灭灯。对于一个不在边界上的位置 (i,j)(i,j),若它自己以及上、下、左、右四个相邻位置均为 #,并且左上、右上、左下、右下四个对角相邻位置均为 .,则称 (i,j)(i,j) 是一个合格星灯中心。给定若干张灯板,请统计每张灯板中合格星灯中心的数量,并输出按从上到下、从左到右扫描时第一个合格中心的位置。

输入格式

第一行包含一个整数 TT,表示灯板数量。

接下来依次输入 TT 组数据。每组数据第一行包含两个整数 nnmm,表示灯板有 nnmm 列。

随后 nn 行,每行一个长度为 mm 的字符串,仅由 #. 组成。

输出格式

对于每组数据,输出一行,包含三个整数 KKrrcc。其中 KK 表示合格星灯中心数量;若 K>0K>0rrcc 表示第一个合格中心的行号和列号,行号、列号均从 11 开始;若 K=0K=0,输出 -1 -1 作为 rrcc

样例

2
5 6
..#...
.###..
..#...
......
.###..
3 3
###
###
###
1 2 3
0 -1 -1

样例解释

第一组中,以第 22 行第 33 列为中心的 3×33\times3 区域形如 .#./###/.#.,因此有 11 个合格中心。第二组虽然中心和四邻均为 #,但四个对角位置不是 .,所以没有合格中心。

数据范围

1T101 \le T \le 101n,m10001 \le n,m \le 1000,所有测试数据中 n×mn \times m 的总和不超过 2×1062 \times 10^6