#include using namespace std; int main() { cin.tie(0); ios::sync_with_stdio(false); int H, W; cin >> H >> W; vector s(H); bool ans = false; for (int i = 0; i < H; i++) cin >> s[i]; int count = 0; for (int i = 0; i < H; i++) { for (int j = 0; j < W; j++) { count += (s[i][j] == '#'); } } if (count == 0) { cout << "NO" << endl; return 0; } for (int dh = -H; dh <= H; dh++) { for (int dw = -W; dw <= W; dw++) { if (dh == 0 && dw == 0) continue; bool flag = true; vector< vector > memo(H, vector(W, false)); for (int h = 0; h < H; h++) { for (int w = 0; w < W; w++) { if (s[h][w] == '.' || memo[h][w]) continue; memo[h][w] = true; int nh = h + dh; int nw = w + dw; if (nh < 0 || nh >= H || nw < 0 || nw >= W) { flag = false; break; } if (s[nh][nw] == '.' || memo[nh][nw]) { flag = false; break; } memo[nh][nw] = true; } if (!flag) break; } if (flag) { ans = true; break; } } if (ans) break; } cout << (ans ? "YES" : "NO") << endl; return 0; }