历史上最淘气的两个达契亚人 Danillo 和 Stegano 觉得挖一些通往虚无的隧道会很有趣。他们知道,未来的历史学家会对这些随机隧道的存在感到极其困惑,并试图推测它们的用途,但实际上这些隧道毫无用处。
他们找到了一面巨大的墙开始挖掘,但不幸的是,墙上有些区域是不可破坏的,因此他们必须避开这些区域。出于美观考虑,隧道的入口必须是圆形的。
形式化地,这面墙可以描述为一个笛卡尔平面,其中 $x$ 坐标范围为 $[0, M]$,$y$ 坐标范围为 $[0, N]$。不可破坏的区域是边长为 $1$、边平行于坐标轴且顶点坐标为整数的正方形。可挖掘区域的地图可以用一个二进制矩阵来描述,该矩阵有 $N$ 行(编号从 $0$ 到 $N-1$)和 $M$ 列(编号从 $0$ 到 $M-1$)。如果第 $l$ 行第 $c$ 列的元素为 $1$,则所有满足 $c \leq x \leq c+1$ 且 $l \leq y \leq l+1$ 的点 $(x, y)$ 均可挖掘。请注意平面坐标 $(x, y)$ 与矩阵元素坐标 $(l, c)$ 之间的区别。
在挖掘隧道时,两人选择一个整数坐标点 $(x, y)$ 作为隧道的中心,然后选择一个半径 $r$,最后开始挖掘圆心为 $(x, y)$、半径为 $r$ 的圆盘内的所有点。注意,圆盘包含内部的所有点,而不仅仅是圆周上的点,且圆盘必须完全位于定义的平面内。
他们希望隧道尽可能显眼,因此他们想要半径最大的隧道。为了施工方便,如果存在多个这样的隧道,他们想要最容易挖掘的那一个。如果隧道的中心坐标为 $(x, y)$,他们倾向于选择 $y$ 最小的;如果仍有多个选择,则选择 $x$ 最小的。
输入格式
第一行包含两个整数 $N$ 和 $M$,分别定义了平面的范围和二进制矩阵的维度。
接下来的 $N$ 行,每行包含一个长度为 $M$ 的由 $0$ 和 $1$ 组成的字符串,表示上述定义的矩阵元素。
输出格式
在一行中打印三个用空格分隔的整数 $x$、$y$ 和 $R$。$(x, y)$ 表示 Danillo 和 Stegano 将要挖掘的隧道中心坐标,$R$ 表示圆的半径的平方,四舍五入到最接近的整数。如果没有半径为正整数的圆,则输出 0 0 0。
数据范围
- $1 \leq N, M \leq 3\,000$
| # | 分值 | 数据范围 |
|---|---|---|
| 0 | 0 | 样例 |
| 1 | 4 | 矩阵中恰好有四个单元格为 $1$。 |
| 2 | 9 | 矩阵中的 $1$ 构成一个边平行于坐标轴的矩形。 |
| 3 | 14 | $N, M \leq 50$ |
| 4 | 15 | $N, M \leq 600$ |
| 5 | 21 | 矩阵是随机生成的。 |
| 6 | 37 | 无附加限制 |
样例
输入格式 1
5 6 011110 111110 011111 111111 011110
输出格式 1
3 2 4
说明
输入格式 2
3 3 010 101 010
输出格式 2
0 0 0