n = read_line.to_i m = read_line.to_i s = Array.new(m) do cs = read_line.chars a = Array.new(4, 0u64) n.times do |i| if cs[i] == '1' a[i >> 6] |= 1u64 << (i & 0x3F) end end a end ans = Array.new(n) { Array.new(4, 0u64) } m.times do |i| n.times do |j| if s[i][j >> 6].bit(j & 0x3F) == 0 ans[j][0] |= s[i][0] ans[j][1] |= s[i][1] ans[j][2] |= s[i][2] ans[j][3] |= s[i][3] else ans[j][0] |= ~s[i][0] ans[j][1] |= ~s[i][1] ans[j][2] |= ~s[i][2] ans[j][3] |= ~s[i][3] end end end n.times do |i| ans[i][i >> 6] |= 1u64 << (i & 0x3F) n.upto(255) do |j| ans[i][j >> 6] |= 1u64 << (j & 0x3F) end if !ans[i].all? { |v| v == UInt64::MAX } puts "No" exit end end puts "Yes"