#include using namespace std; int h, w; bool match(vector s, int x, int y) { for (int i = 0; i < h - x; i++) { for (int j = max(0, -y); j < w + min(0, -y); j++) { if (s.at(i).at(j) == '#') { s.at(i).at(j) = '.'; if (s.at(i+x).at(j+y) == '#') { s.at(i+x).at(j+y) = '.'; } else { return false; } } } } for (int i = 0; i < h; i++) { for (int j = 0; j < w; j++) { if (s.at(i).at(j) == '#') return false; } } return true; } int main() { cin >> h >> w; vector s(h); for (int i = 0; i < h; i++) cin >> s.at(i); int black = 0; for (int i = 0; i < h; i++) { for (int j = 0; j < w; j++) { if (s.at(i).at(j) == '#') black++; } } if (black == 0) { cout << "NO" << endl; return 0; } for (int i = 0; i < h; i++) { for (int j = -w+1; j < w; j++) { if (match(s, i, j)) { cout << "YES" << endl; return 0; } } } cout << "NO" << endl; }