#include using namespace std; bool check(vector> S, int H, int W, int x, int y) { bool ans = false; bool used[H][W] = {}; for (int i = 0; i < H; i++) { for (int j = 0; j < W; j++) { if (!used[i][j] && S[i][j] == '#') { if (!(i + x < H && 0 <= j + y && j + y < W)) return false; if (used[i + x][j + y]) return false; if (S[i + x][j + y] != '#') return false; used[i][j] = used[i + x][j + y] = true; ans = true; } } } return ans; } int main() { int H, W; cin >> H >> W; vector> S(H, vector(W)); for (int i = 0; i < H; i++) { for (int j = 0; j < W; j++) { cin >> S[i][j]; } } bool ans = false; for (int i = 0; i < H; i++) { for (int j = -W + 1; j < W; j++) { if (i == 0 && j == 0) continue; ans |= check(S, H, W, i, j); } } cout << (ans ? "YES" : "NO") << endl; }