AT_nupc2024_o LRUD Maze
Description
縦 $ N $ 行、横 $ M $ 列からなるグリッドが与えられます。 上から $ i $ 行目、左から $ j $ 列目のマスを $ (i,j) $ と表記します。 グリッドの各マスには `L` , `R` , `U` , `D` のいずれかの文字が書かれており、 今 $ (i,j) $ には $ S_{i,j} $ が書かれています。
このグリッド上では、今いるマスを $ (i,j) $ 、そこに書かれた文字を $ c $ として、以下の移動が可能です。
- $ c = $ `L` かつ $ j\neq 1 $ のとき、マス $ (i,j-1) $ に移動する。
- $ c = $ `R` かつ $ j\neq M $ のとき、マス $ (i,j+1) $ に移動する。
- $ c = $ `U` かつ $ i\neq 1 $ のとき、マス $ (i-1,j) $ に移動する。
- $ c = $ `D` かつ $ i\neq N $ のとき、マス $ (i+1,j) $ に移動する。
さて、あなたはこれから以下の操作を**ちょうど $ 1 $ 回**行います。
- 整数 $ 1 \le i \le N $ と $ 1 \le j \le M $ を選び、 $ (i,j) $ に書かれた文字を `L` , `R` , `U` , `D` のうち $ S_{i,j} $ とは異なる文字に書き換える。
この操作は全部で $ 3NM $ 種類あります。 それらのうち、「操作後のグリッド上で $ (1,1) $ から $ (N,M) $ へ到達可能なもの」の数を求めてください。
Input Format
入力は以下の形式で標準入力から与えられます。
> $ N $ $ M $ $ S_{1,1} S_{1,2} \dots S_{1,M} $ $ S_{2,1} S_{2,2} \dots S_{2,M} $ $ \vdots $ $ S_{N,1} S_{N,2} \dots S_{N,M} $
Output Format
標準出力へ答えを一行で出力してください。
Explanation/Hint
### Sample Explanation 1
以下の $ 3 $ 種類が条件を満たします。
- $ (1,2) $ を `R` に変える
- $ (2,2) $ を `R` に変える
- $ (2,2) $ を `D` に変える
### Sample Explanation 2
答えが $ 0 $ になる場合もあります。
### Constraints
- $ 2 \le N,M \le 1000 $
- $ N,M $ は整数
- $ S_{i,j} $ は `L` , `R` , `U` , `D` のいずれか