연결

시간 제한1초메모리 제한128 MB

문제

보드 게임 트위스트(Twixt)에서 주어진 수순의 마지막 수가 승리하는 수인지 판정하세요.

이 버전에서는 보드 크기가 달라질 수 있습니다. 말(peg)은 $[0, N]$ 범위의 정수 좌표에 놓입니다. 두 플레이어 흑(Black)과 백(White)은 각자 자기 색의 말을 사용합니다. 항상 흑이 먼저 두고, 이후 두 플레이어가 번갈아 가며 비어 있는 위치 $(x, y)$ 하나에 말을 하나씩 놓습니다.

흑의 목표선(endzone)은 $x = 0$ 또는 $x = N$인 직선이고, 백의 목표선은 $y = 0$ 또는 $y = N$인 직선입니다. 어느 플레이어도 상대의 목표선 위에는 말을 놓을 수 없습니다.

매 수마다, 방금 놓은 말은 체스 나이트의 이동(한 좌표로 $2$칸, 다른 좌표로 $1$칸 떨어진 위치)만큼 떨어진 같은 색 말 각각과 선분으로 연결됩니다. 단, 새 선분이 이미 그어진 어떤 선분과도 공유하는 끝점을 제외하고는 닿지 않아야 합니다. 새 선분이 (색과 무관하게) 기존 선분과 교차하거나 겹친다면 그 선분은 긋지 않습니다.

승리하는 수가 나오면 대국이 끝납니다. 승리하는 수란, 그 수로 인해 어떤 플레이어의 선분들이 그 플레이어의 두 목표선을 잇는 연결된 경로를 처음으로 완성하는 수입니다.

예를 들어 $N = 4$인 보드에서 $(0,2)$, $(2,4)$, $(4,2)$, $(3,2)$를 둔 뒤, 흑이 $(2,3)$을 두는 것은 나쁜 수이지만 대신 $(2,1)$을 두면 승리합니다. 또 다른 예로 $N = 7$인 보드에서 흑은 11수 만에 승리합니다: $(0,3)$, $(6,5)$, $(3,2)$, $(5,7)$, $(7,2)$, $(4,4)$, $(5,3)$, $(5,2)$, $(4,5)$, $(4,0)$, $(2,4)$.

입력

입력은 1개 이상 20개 이하의 데이터셋으로 이루어지며, 마지막에는 두 개의 0만 있는 줄 0 0이 옵니다.

각 데이터셋의 첫 줄에는 최대 좌표 $N$과 전체 수의 개수 $M$이 주어집니다. 이때 $3 < N < 21$, $4 < M < 250$이며 $M$은 홀수입니다. 데이터셋의 나머지 부분에는 $M$개의 좌표 쌍이 한 줄에 한 쌍 이상씩 주어지고, 모든 수는 공백으로 구분됩니다.

$M$이 홀수이므로 항상 흑이 마지막 수를 둡니다. 모든 입력은 규칙에 맞으며, 마지막 수 이전에 승리하는 수가 나오는 경우는 없습니다.

출력

각 데이터셋마다, 마지막 수가 승리하는 수이면 yes를, 그렇지 않으면 no를 한 줄에 출력하세요.