두 사람이 삼차원판 틱택토를 둔다. 두 사람은 정육면체 모양의 판에 공을 떨어뜨리며, 같은 색 공을 정해진 길이만큼 한 줄로 이어 놓으려 한다. 각 경기의 기록을 시뮬레이션하여 승자를 판정하는 프로그램을 작성하는 것이 과제이다.
경기는 두 매개변수로 정해진다. 판의 크기 $n$ 과 목표 수열 길이 $m$ 이다.
정확한 규칙은 다음과 같다.
수열은 축 방향이나 대각선 방향으로 뻗을 수 있다. 서로 반대 방향은 같은 방향으로 보므로, 서로 다른 방향은 정확히 13가지이다.
각 경기의 기록이 주어지며, 승자를 판정해야 한다.
삼차원 줄은 사람 눈으로 알아채기 어렵기 때문에, 이미 승부가 난 뒤에도 계속 두는 경우가 있다. 승자가 정해진 뒤에 둔 수는 모두 무시해야 한다. 즉 맨 처음 만들어진 $m$-수열만 유효하며, 그 뒤에 만들어진 수열은 승자를 바꾸지 못한다.
경기가 반드시 승리로 끝나는 것은 아니다. 공을 더 놓을 수 있는 막대가 하나도 없으면 무승부이다. 또한 $m$-수열이 하나도 만들어지기 전에 경기를 그만두는 경우도 있는데, 이 역시 무승부이다.
입력은 여러 개의 데이터셋으로 이루어지며, 각 데이터셋은 한 경기의 기록이다.
각 데이터셋은 공백 하나로 구분된 세 양의 정수 $n$, $m$, $p$ 가 적힌 줄로 시작한다. 여기서 $3 \le m \le n \le 7$, $1 \le p \le n^3$ 이다. $n$ 과 $m$ 은 판의 크기와 수열 길이이고, $p$ 는 둔 수의 개수이다.
이어지는 $p$ 개의 줄에는 각각 두 양의 정수 $x$, $y$ ($1 \le x, y \le n$) 가 있다. 차례인 사람이 막대 $(x, y)$ 에 공을 떨어뜨린다는 뜻이다. 한 경기 동안 어떤 막대에도 공이 $n$ 개를 넘게 놓이는 일은 없다.
입력의 끝은 세 개의 0 이 적힌 줄 0 0 0 으로 나타낸다. 이 줄은 데이터셋에 포함되지 않는다.
각 데이터셋마다 정확히 한 줄을 출력한다.
한쪽이 이기면 승자(Black 또는 White), 공백 하나, 그리고 승부가 결정된 수의 번호를 출력한다. 무승부이면 Draw 를 출력한다. 그 밖의 다른 문자는 출력하지 않는다.