AT_abc422_b [ABC422B] Looped Rope

Description

縦 $ H $ マス、横 $ W $ マスのマス目があります。 上から $ i $ 行目 $ (1\le i\le H) $ 、左から $ j $ 列目 $ (1\le j\le W) $ のマスをマス $ (i,j) $ と呼ぶことにします。 それぞれのマスは白もしくは黒のどちらか $ 1 $ 色で塗られています。 マスに塗られている色は $ H $ 個の文字列 $ S _ 1,S _ 2,\ldots,S _ H $ で表され、 $ S _ i\ (1\le i\le H) $ の $ j $ 文字目 $ (1\le j\le W) $ が `.` のとき、マス $ (i,j) $ は白で塗られており、 $ S _ i\ (1\le i\le H) $ の $ j $ 文字目 $ (1\le j\le W) $ が `#` のとき、マス $ (i,j) $ は黒で塗られています。 マス目が以下の条件を満たすか判定してください。 - どの黒で塗られたマスについても、上下左右で隣り合うマスのうち黒く塗られているものは $ 2 $ つもしくは $ 4 $ つである。 ただし、マス $ (i,j)\ (1\le i\le H,1\le j\le W) $ とマス $ (k,l)\ (1\le k\le H,1\le l\le W) $ は、 $ |i-k|+|j-l|=1 $ であるとき、かつそのときに限り上下左右で隣り合っているとします。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ H $ $ W $ $ S _ 1 $ $ S _ 2 $ $ \vdots $ $ S _ H $

Output Format

与えられたマス目が条件を満たしているとき `Yes` を、条件を満たしていないとき `No` を出力せよ。

Explanation/Hint

### Sample Explanation 1 例えば、マス $ (6,3) $ は黒で塗られており、隣り合っているマス $ (5,3),(6,2),(6,4),(7,3) $ のうち、マス $ (5,3) $ およびマス $ (6,4) $ の $ 2 $ マスが黒で塗られているため、条件を満たしています。 他の黒で塗られたどのマスについても条件を満たしているため、`Yes` を出力してください。 ### Sample Explanation 2 マス $ (1,1) $ は黒で塗られていますが、隣り合っているマスは $ 1 $ つしかないため、条件を満たしていません。 よって、`No` を出力して下さい。 ### Sample Explanation 3 黒で塗られているマスがないため、条件を満たしています。 よって、`Yes` を出力してください。 ### Constraints - $ 1\le H\le 20 $ - $ 1\le W\le 20 $ - $ H,W $ は整数 - $ S _ i $ は `.` および `#` からなる長さ $ W $ の文字列 $ (1\le i\le H) $