#abc129d. [abc129_d]Lamp

[abc129_d]Lamp

题目描述

有一个 HHWW 列的网格,其中某些方格上有障碍物。

Snuke 打算选择一个没有障碍物的方格,并在其上放置一盏灯。放置在方格上的灯会向四个基本方向(上、下、左、右)发射直线光束。在每个方向上,光束将继续前进,直到它碰到一个被障碍物占据的方格,或者它碰到网格的边界。光束将照亮途中的所有方格,包括放置灯的方格,但不包括被障碍物占据的方格。

Snuke 希望最大化被灯照亮的方格数。

给定 HH 个字符串 SiS_i1iH1 \leq i \leq H),每个字符串的长度为 WW。如果第 ii 行(从顶部开始计数)第 jj 列(从左侧开始计数)的字符(1jW1 \leq j \leq W)为 #,则表示该方格上有一个障碍物;如果字符为 .,则表示该方格上没有障碍物。

求能够被灯照亮的方格的最大可能数量。

约束条件

  • 1H2,0001 \leq H \leq 2,000
  • 1W2,0001 \leq W \leq 2,000
  • SiS_i 是一个长度为 WW 的字符串,由 #. 构成。
  • 在所有字符串 SiS_i1iH1 \leq i \leq H)中至少有一个字符为 .

输入

从标准输入读入数据,输入格式如下:

H WH\ W

S1S_1

 :\ :

SHS_H

输出

打印能够被灯照亮的方格的最大可能数量。


示例输入1

4 6
#..#..
.....#
....#.
#.#...

示例输出1

8

如果 Snuke 将灯放置在从顶部开始计数第二行、从左侧开始计数第二列的方格上,它将照亮以下方格:第二行从左到右的前五个方格,以及第二列从上到下的前四个方格,一共是八个方格。


示例输入2

8 8
..#...#.
....#...
##......
..###..#
...#..#.
##....#.
#...#...
###.#..#

示例输出2

13