AT_wupc_03 至高のケーキ

Description

[problemUrl]: https://atcoder.jp/contests/wupc2nd/tasks/wupc_03 今日もまた,きっと誰かの誕生日だ.ここでは,とあるイチゴが苦手な人の誕生日ケーキにまつわる次の問題に答えて欲しい. ある人の誕生日ケーキを考える.誕生日ケーキは $ N $ 行 $ M $ 列から成り,$ N×M $個の正方形に切り分けることができる.各正方形には「効用」が設定されており,ある人がその部分のケーキを食べた時どれだけ満足度を得られるか,が決まっている.彼が最終的に得られる満足度は,切り分けた正方形の効用の合計である.また,ケーキの一部はイチゴを含むことがある. ここでは,誕生日ケーキを文字列で表すことにする.ケーキの各部分は文字で表す.ここで,各文字の意味は次のとおりである. ``` 0, 1, 2, ..., 9 : 書かれた数値の効用が得られる部分 X : イチゴを含む部分 ``` ここで,ある人に誕生日ケーキを切り分けることを考える.その人は階段上の形が好きなので,図 $ 1 $ に示すような階段上の形のケーキを $ 1 $ つだけ切り分け,彼に与える.正方形 $ 1 $ つの形も階段状であるとみなす.ただし,彼はいちごがとても苦手なので,いちごを含む部分は切り分けないようにしたい.例えば,図 $ 2 $ のようにいちごを含むような切り分け方はできない. ケーキの効用といちごの場所が与えられるので,彼が得られる満足度の最大値を求めよ. - - - - - - ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_wupc_03/4607985162253674fee83b710f88b7c3f6764101.png)図1: ケーキの切り分け方 - - - - - - ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_wupc_03/bf0214b878757b5f009cf48d0dfe46f1314e997c.png)図2: 無効な切り分けの例 - - - - - - 入力は以下の形式で標準入力から与えられる. > $ N M $ $ c_{1,1}c_{1,2}\ ...\ c_{1,M} $ $ c_{2,1}c_{2,2}\ ...\ c_{2,M} $ $ ... $ $ c_{N,1}c_{N,2}\ ...\ c_{N,M} $ - $ 1 $ 行目にケーキの大きさを表す $ N $($ 1\ ≦\ N\ ≦\ 30 $) と $ M $($ 1\ ≦\ M\ ≦\ 30 $) が半角スペース区切りで与えられる. - $ 2 $ 行目から $ N+1 $ 行目には,$ M $ 文字の文字列が与えられる.これらケーキの効用値,あるいはいちごを表すデータである. - 文字列中に出現する文字列は '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'X' のいずれかであり,意味は上に記した通りである. - ケーキの文字列の中に出現する 'X' の数は $ N\ ×\ M $ より少ないことを仮定してよい. 彼が得られる満足度の最大値を1行に出力せよ. なお、最後には改行を出力せよ. ```
3 3
433
333
333
```

 ```
19
```

 ```
3 5
11111
1X1X1
11111
```

 ```
3
```
                            

Input Format

N/A

Output Format

N/A