#if 0 嘘解法 #endif // includes {{{ #include #include #include #include #include #include #include #include #include #include #include #include #include #include // #include // #include // #include // #include // }}} using namespace std; using ll = long long; int main() { std::ios::sync_with_stdio(false), std::cin.tie(0); int h, w; cin >> h >> w; vector v(h); for(auto &e: v) cin >> e; int ans = 1; // 2 * 2 四角形が同色なら NO ! w for(int i = 0; i + 1 < h; i++) for(int j = 0; j + 1 < w; j++) { int c[2] = {}; for(int di = 0; di < 2; di++) for(int dj = 0; dj < 2; dj++) c[v[i+di][j+dj]-'0'] = 1; if(c[0] + c[1] == 1) ans = 0; } cout << (ans ? "YES" : "NO") << endl; return 0; }