쌍둥이 형제 타츠야와 카즈야는 초콜릿을 아주 좋아한다. 어느 날 두 사람은 아주 이상한 모양의 초콜릿 바를 발견했는데, 엄마가 이미 일부를 먹어 버린 것처럼 보였다. 두 사람은 남은 초콜릿을 각자 한 조각씩 갖도록 두 조각으로 자르려고 한다. 나눈 결과가 공평한지 확실히 하기 위해, 두 조각의 모양이 서로 합동이면서 각 조각이 하나로 연결되어 있기를 요구한다.
초콜릿 바는 단위 정사각형 블록들로 이루어져 있다. 두 블록은 변을 맞대고 있을 때 서로 이어져 있다고 보며, 남아 있는 초콜릿 바 전체는 하나로 연결되어 있다. 자를 때는 반드시 단위 정사각형의 변을 따라서만 자를 수 있다.
예를 들어 블록이 18개인, 일부가 먹힌 초콜릿 바는 각각 9개의 블록으로 이루어진 두 조각으로 자를 수 있다. 한 조각을 90도 회전한 뒤 뒤집으면 다른 조각과 정확히 포개진다.
꼭짓점에서만 맞닿은 두 블록은 서로 연결된 것으로 보지 않는다. 이 때문에, 연결 조건을 무시하면 합동인 두 조각으로 나눌 수 있더라도, 합동이면서 연결된 두 조각으로는 나눌 수 없는 초콜릿 바가 존재한다.
여기서 합동이란, 한 조각을 회전, 대칭이동(뒤집기), 평행이동을 적절히 조합하여 다른 조각과 완전히 겹치게 만들 수 있음을 뜻한다. 초콜릿 바의 모양이 주어질 때, 그 바를 합동이면서 연결된 두 조각으로 나눌 수 있는지 판정하여라.
입력은 여러 개의 데이터셋으로 이루어진다. 입력의 끝은 공백으로 구분된 두 개의 0으로 이루어진 줄로 나타낸다. 각 데이터셋의 형식은 다음과 같다.
w h
r(1, 1) ... r(1, w)
r(2, 1) ... r(2, w)
...
r(h, 1) ... r(h, w)
$w$와 $h$는 각각 초콜릿 바의 너비와 높이이며, $2 \le w \le 10$, $2 \le h \le 10$을 만족한다. 이어지는 $h$개의 줄에는 각각 $w$개의 숫자가 하나의 공백으로 구분되어 주어진다. 숫자 $r(i, j)$는 $i$행 $j$열 위치의 블록 상태를 나타낸다.
0: 이 자리에는 초콜릿이 없다(이미 먹은 자리).1: 이 자리에는 초콜릿 블록이 있다.한 데이터셋의 블록 수는 최대 36개이며(즉 1인 숫자가 최대 36개), 모든 행과 모든 열에는 적어도 하나의 블록이 있고, 초콜릿 바는 하나로 연결되어 있으며, 내부에 구멍이 없다고 가정해도 된다.
각 데이터셋에 대해, YES 또는 NO 중 하나만을 담은 한 줄을 출력한다. 초콜릿 바를 합동이면서 연결된 두 조각으로 나눌 수 있으면 YES를, 그렇지 않으면 NO를 출력한다. 그 줄에는 다른 문자가 있어서는 안 된다.