#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; for(auto &e2 : e) e2 -= '0'; } int ans = 1; // 縁が同色なら NO ! w int c[2] = {}; for(int i = 0; i < h; i++) c[v[i][0]] = c[v[i][w-1]] = 1; for(int j = 0; j < w; j++) c[v[0][j]] = c[v[h-1][j]] = 1; if(c[0] + c[1] == 1) ans = 0; cout << (ans ? "YES" : "NO") << endl; return 0; }