#include #define rep(i,n) for(int i = 0; i < (n); ++i) #define srep(i,s,t) for (int i = s; i < t; ++i) #define drep(i,n) for(int i = (n)-1; i >= 0; --i) using namespace std; typedef long long int ll; typedef pair P; #define yn {puts("NO");}else{puts("YES");} #define MAX_N 200005 int main() { int h,w; cin >> h >> w; string s[h]; rep(i,h)cin >> s[i]; int tate = 0; int yoko = 0; rep(i,h){ int flag = 0; rep(j,w){ if(s[i][j] == '0'){ flag |= 1; }else{ flag |= 2; } } if(flag != 3)yoko = 1; } rep(j,w){ int flag = 0; rep(i,h){ if(s[i][j] == '0'){ flag |= 1; }else{ flag |= 2; } } if(flag != 3)tate = 1; } if(h == 1){ if(yoko)yn; }else if(w == 1){ if(tate)yn }else{ if(tate && yoko)yn; } return 0; }