어떤 도시의 도로망은 도로(street)와 교차점(node)으로 이루어져 있습니다. 하나의 교차점에서는 둘 이상의 도로가 만날 수 있습니다. 모든 도로는 일방통행입니다. 또한 두 교차점이 여러 개의 도로로 직접 연결될 수 있으며, 한 교차점에서 자기 자신으로 되돌아오는 도로(자기 루프)도 존재할 수 있습니다.
다음 세 가지 질문에 답하는 프로그램을 작성하세요.
첫째 줄에 교차점의 개수를 나타내는 양의 정수 $N$ ($N \le 50$)이 주어집니다.
둘째 줄에 경로의 길이를 나타내는 양의 정수 $S$ ($S \le 3$)가 주어집니다.
이어지는 $N$개의 줄에는 도로망이 행렬 형태로 주어집니다. $I$번째 줄의 $J$번째 값은 교차점 $I$에서 교차점 $J$로 향하는 도로의 개수입니다. 교차점의 번호는 $1$부터 $N$까지입니다.
첫째 줄에는, 어떤 교차점에서 출발하여 모든 도로를 정확히 한 번씩 지나는 경로가 존재하면 문자열 YES를, 그렇지 않으면 문자열 NO를 출력합니다.
답이 YES인 경우에만 다음 두 줄을 추가로 출력합니다.
답이 NO인 경우에는 첫째 줄의 NO만 출력합니다.