일부가 가려진 성적표에서 각 참가자의 맞힌 문제 수와 계단 모양으로 보이는 정보가 주어질 때, 모든 참가자가 최소 한 문제를 풀고 모든 문제가 최소 한 명에게 풀리며 아무도 모든 문제를 풀지 않도록 숨은 칸을 채울 수 있는지 판정한다.
보통6그리디완전 탐색구현조합론아직 제출이 없습니다시간 제한1초메모리 제한512 MB대회를 열려면 고려할 요소가 굉장히 많다. 현정이는 어떤 의미로든 좋지 못한 대회를 만드는 것으로 유명하다. 문제 구성도 좋은 대회라고 할 만한 기준을 한 번도 만족한 적이 없다. 현정이가 만들고 싶은 좋은 대회는 다음 세 조건을 모두 만족하는 대회이다.
여러 경험을 겪은 현정이는 이번에야말로 좋은 대회를 만들려고 모든 것을 바쳤다. 하지만 너무 많이 바쳤는지 대회가 끝나기 전에 쓰러지고 말았다. 눈을 뜬 현정이는 가장 먼저 대회 결과를 보고 이번 대회가 좋은 대회였는지 알고 싶어 했다.
서둘러 대회 홈페이지에 접속한 현정이는 대회 결과를 나타내는 스코어보드를 찾아냈다. 하지만 현정이의 노트북은 모니터 오른쪽 위가 삼각형 모양으로 깨져 있어서 스코어보드 전체를 볼 수 없었다.

스코어보드는 더 많은 문제를 맞힌 참가자일수록 순위가 높고, 1등이 맨 위에 오도록 순위대로 정렬되어 있다. 현정이의 모니터는 ◥ 모양으로 깨져 있으므로 볼 수 있는 부분은 아래 규칙을 모두 만족한다.
현정이가 알 수 있는 것은 각 참가자가 몇 문제를 풀었는지와 어떤 문제를 풀었는지에 대한 부분적인 정보이다. 현정이는 머릿속에서 행복회로를 돌리기 시작했다. 모니터가 깨져 볼 수 없는 부분을 원하는 대로 채워서 이 대회가 좋은 대회였다고 믿으려는 것이다. 볼 수 없는 결과는 하나하나 맞음이나 틀림으로 채운다. 물론 각 참가자가 맞힌 문제 수와 이미 보이는 결과는 바꿀 수 없다. 깨진 모니터에 보이는 스코어보드 정보가 주어질 때 이 대회가 좋은 대회가 될 수 있는지 알아보자.
첫째 줄에 이번 대회의 참가자 수 N (1≤N≤100)과 문제 수 M (1≤M≤10)이 주어진다. 다음 N개의 줄에는 1등부터 N등까지 순서대로 한 줄에 한 명씩 참가자 정보가 주어진다. i등 참가자의 줄에는 맞힌 문제 수 Ki (0≤Ki≤M)와 그 참가자의 1번부터 M번까지 문제 결과 M개가 주어진다. 결과는 맞았다면 1, 틀렸다면 0, 모니터가 깨져 알 수 없다면 -1이다.
주어지는 스코어보드는 실제 대회 결과의 일부이다. 즉 Ki는 1등에서 아래로 갈수록 커지지 않고, 보이는 결과는 위의 네 규칙을 만족하며 Ki와 모순되지 않는다.
좋은 대회가 될 수 있다면 YES, 아니라면 NO를 출력한다.
아래는 첫 번째 예제에서 볼 수 없는 결과를 채워 좋은 대회로 만드는 여러 방법 중 하나이다.
1 1 0 1 1
1 0 1 0 1
1 0 1 0 0
1 0 0 0 0