Aquabyte 水上乐园参加了一场关于最大游泳池的竞赛。乐园的场地是一个边长为 $n$ 的正方形,被划分为 $n^2$ 个边长为 1 的单位正方形。每个单位正方形要么是小路,要么是游泳池区块。相邻(即共享一条边)的游泳池区块会合并形成一个更大的游泳池区块。一个游泳池是一个极大游泳池区块,即无法再与任何其他区块合并的区块。目前,乐园中所有的游泳池都是矩形的。
Aquabyte 的董事会决定通过改造乐园来增加获胜的机会。由于时间和资金有限,他们决定最多将两条小路改造成游泳池区块。请帮助董事会确定应该改造哪些单位正方形,使得最大的游泳池面积最大化。注意,改造后的游泳池不再要求必须是矩形。
输入格式
第一行包含一个正整数 $n$,表示水上乐园的边长。
接下来的 $n$ 行构成了乐园的二维示意图:每行包含一个长度恰好为 $n$ 的字符串。每个字母要么是 A(代表小路),要么是 B(代表游泳池区块)。你可以假设这些行中至少包含一个字母 B。
输出格式
输出一行,包含一个整数,即可以形成的最大游泳池的面积。
样例
输入格式 1
5 BBBAB BBBAB AAAAA BBABA BBAAB
输出格式 1
14
样例评分测试
1ocen: $n = 10$,公园中只有一个游泳池。 2ocen: $n = 10$,整个公园是一个巨大的游泳池。 3ocen: $n = 1000$,棋盘格。
子任务
测试集由以下子任务组成。在每个子任务中,可能包含多个测试组。
| 子任务 | 数据范围 | 分值 |
|---|---|---|
| 1 | $n \le 10$ | 11 |
| 2 | $n \le 50$,初始时最多有 80 个游泳池 | 11 |
| 3 | $n \le 60$ | 22 |
| 4 | $n \le 1000$,初始时每个游泳池都是一个单位正方形 | 22 |
| 5 | $n \le 1000$ | 34 |