#include #define rep(i, n) for (int i = 0; i < (n); i++) #define repr(i, n) for (int i = (n) - 1; i >= 0; i--) #define repe(i, l, r) for (int i = (l); i < (r); i++) #define reper(i, l, r) for (int i = (r) - 1; i >= (l); i--) #define repi(i, l, r) for (int i = (l); i <= (r); i++) #define repir(i, l, r) for (int i = (r); i >= (l); i--) #define range(a) a.begin(), a.end() void init_io() { std::cin.tie(nullptr); std::ios::sync_with_stdio(false); std::cout << std::fixed << std::setprecision(15); } using namespace std; using ll = long long; int main() { init_io(); int H, W; cin >> H >> W; vector G(H); rep(i, H) cin >> G[i]; int cnt = 0; rep(i, H) rep(j, W) cnt += G[i][j] - '0'; int mn = min((H / 2) * W, (W / 2) * H); int mx = max(((H + 1) / 2) * W, ((W + 1) / 2) * H); if (mn <= cnt && cnt <= mx) { cout << "YES" << endl; } else { cout << "NO" << endl; } }