AT_abc390_c [ABC390C] Paint to make a rectangle

Description

$ H $ 行 $ W $ 列のマス目が与えられます。 以下、上から $ i $ 行目 $ (1\leq i\leq H) $ かつ左から $ j $ 列目 $ (1\leq j\leq W) $ のマスをマス $ (i,j) $ で表します。 マス目の状態は $ H $ 個の長さ $ W $ の文字列 $ S_1,S_2, \ldots, S_H $ によって以下のように表されます。 - $ S_i $ の $ j $ 文字目が `#` のとき、マス $ (i,j) $ は黒く塗られている。 - $ S_i $ の $ j $ 文字目が `.` のとき、マス $ (i,j) $ は白く塗られている。 - $ S_i $ の $ j $ 文字目が `?` のとき、マス $ (i,j) $ は塗られていない。 高橋君はまだ塗られていないマスをそれぞれ白または黒で塗ることで、黒マス全体が長方形をなすようにしたいです。 より具体的には、ある $ 4 $ つの整数の組 $ (a,b,c,d) $ ( $ 1\leq a\leq b\leq H $ , $ 1\leq c\leq d\leq W $ ) が存在して、次が成り立つようにしたいです。 > マス $ (i,j) $ ( $ 1\leq i\leq H $ , $ 1\leq j\leq W $ ) は、 $ a\leq i\leq b $ かつ $ c\leq j\leq d $ をみたすとき、黒く塗られている。 > そうでないとき、白く塗られている。 そのようなことが可能か判定してください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ H $ $ W $ $ S_1 $ $ S_2 $ $ \vdots $ $ S_H $

Output Format

まだ塗られていないマスをそれぞれ白または黒で塗ることで、黒マス全体が長方形をなすようにできるならば `Yes` を、そうでないならば `No` を出力せよ。

Explanation/Hint

### Sample Explanation 1 マス目は以下の状態になっています。`?` のマスがまだ塗られていないマスです。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_abc390_c/8e1e35ac025f40dd4334c8d09605d74407d716f53350eaa5efbb8c497668195a.png) マス $ (1,3) $ , $ (2,2) $ , $ (2,4) $ を黒く塗り、マス $ (3,1) $ , $ (3,5) $ を白く塗ることで、 以下のように黒マス全体が長方形をなすようにできます。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_abc390_c/7c07b1db4b60e6f0503f2655b4f7e3e9ccb9db14085aea7eb511d70869338df7.png) よって、`Yes` を出力します。 ### Sample Explanation 2 黒マス全体が長方形をなすためには、少なくともマス $ (2,2) $ を黒く塗る必要がありますがすでに白く塗られています。 よって、黒マス全体が長方形をなすようにマス目を塗ることはできないため、`No` を出力します。 ### Constraints - $ 1\leq H,W\leq 1000 $ - $ H $ , $ W $ は整数 - $ S_i $ は `#`, `.`, `?` のみからなる長さ $ W $ の文字列 - 黒く塗られたマスが $ 1 $ つ以上存在する。