B. Bingo!
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Bingo 是一种趣味性很强的游戏机制。在一局游戏开始前,需要准备 $$$25$$$ 个任务,并将它们放入一个 $$$5\times 5$$$ 的方格表中。游戏过程中,玩家通过完成相应任务来点亮对应的格子;当任意一行、任意一列,或任意一条对角线上的所有格子都被点亮时,即达成 Bingo。通过合理设计任务内容,这种玩法能够灵活应用于多种不同场景,具有较高的通用性和扩展性。

在本题中,你需要完成一局 Bingo 游戏的结算。给定一个 $$$5\times 5$$$ 的矩阵,表示游戏结束时的 Bingo 图。矩阵的每个元素为 $$$0$$$ 或 $$$1$$$,其中 $$$1$$$ 表示该任务已完成,$$$0$$$ 表示未完成。请依据以下规则,判定这场游戏的结果。

  1. 游戏胜利:若某一行、某一列、或某一条对角线的 $$$5$$$ 个任务全部完成,则判定为游戏胜利。
  2. 积分规则:若未胜利,你需要根据如下规则计算积分:

    1. 每一个完成的任务都会得到积分,其积分取决于它贡献的最长连线长度:
      • 若该任务与其它完成的任务共同构成的最长连线为 $$$4$$$,则积分为 $$$3$$$;
      • 若该任务与其它完成的任务共同构成的最长连线为 $$$3$$$,则积分为 $$$2$$$;
      • 否则,积分为 $$$1$$$;
    2. 最终积分为所有已完成任务的积分之和。

这里,连线指的是横线、竖线或斜线。形式化地,记第 $$$x$$$ 行第 $$$y$$$ 列的任务为 $$$(x,y)$$$​,则:

  • 已完成的任务集合 $$$\{(x_1, y_1), (x_2, y_2),\ldots,(x_k,y_k)\} (y_1\leq y_2\leq \ldots \leq y_k)$$$ 构成一条长度为 $$$k$$$ 的横线,当且仅当 $$$x_{i}=x_{i-1}, y_{i}=y_{i-1}+1 (2\leq i \leq k)$$$;
  • 已完成的任务集合 $$$\{(x_1, y_1), (x_2, y_2),\ldots,(x_k,y_k)\} (x_1\leq x_2\leq \ldots \leq x_k)$$$ 构成一条长度为 $$$k$$$ 的竖线,当且仅当 $$$y_i=y_{i-1}, x_{i}=x_{i-1}+1 (2\leq i \leq k)$$$;
  • 已完成的任务集合 $$$\{(x_1, y_1), (x_2, y_2),\ldots,(x_k,y_k)\} (y_1\leq y_2\leq \ldots \leq y_k)$$$ 构成一条长度为 $$$k$$$ 的斜线,当且仅当 $$$x_{i}=x_{i-1}+1, y_{i}=y_{i-1}+1 (2\leq i \leq k)$$$ 或 $$$x_{i}=x_{i-1}-1, y_{i}=y_{i-1}+1 (2\leq i \leq k)$$$。
Input

输入共$$$5$$$行,每行包含一个长度为$$$5$$$的字符串,构成 $$$5\times 5$$$ 的矩阵,表示任务完成情况。保证矩阵的每个字符 $$$c\in \{'\texttt{0}','\texttt{1}'\}$$$。

Output

若游戏胜利,请输出 "Bingo!";

否则,输出一个整数,表示玩家的得分。

Examples
Input
10000
01000
00100
00010
00001
Output
Bingo!
Input
00001
10000
01000
01110
00010
Output
17
Note

对于样例 $$$2$$$,每个格子的积分如下图所示。