#include <bits/stdc++.h>

using namespace std;

#define for_(i,a,b) for(int i=a;i<b;i++)
#define minit(a,b) memset(a,b,sizeof(a));

int n, m, p;
int X[500], Y[500];

int board[10][10][500];

bool isok(int x, int y, int z) {
	return (0 <= x && x < n) && (0 <= y && y < n) && (0 <= z && z < 500);
}

bool check(int turn) {
	for_(x,0,n) {
		for_(y,0,n) {
			 int z = 499;
			 while (z >= 0 && board[x][y][z] == -1) z--;
			 
			 while (z >= 0) {
				 if (board[x][y][z] == turn) {
				 	int cnts[30]; minit(cnts, 0);
				 	for_(i, 0, m) {
				 		if (isok(x + i, y, z) && board[x + i][y][z] == turn) cnts[0]++;
				 		if (isok(x - i, y, z) && board[x - i][y][z] == turn) cnts[1]++;
				 		if (isok(x, y + i, z) && board[x][y + i][z] == turn) cnts[2]++;
				 		if (isok(x, y - i, z) && board[x][y - i][z] == turn) cnts[3]++;
				 		if (isok(x, y, z + i) && board[x][y][z + i] == turn) cnts[4]++;
				 		if (isok(x, y, z - i) && board[x][y][z - i] == turn) cnts[5]++;
				 		if (isok(x + i, y + i, z) && board[x + i][y + i][z] == turn) cnts[6]++;
				 		if (isok(x + i, y - i, z) && board[x + i][y - i][z] == turn) cnts[7]++;
				 		if (isok(x - i, y + i, z) && board[x - i][y + i][z] == turn) cnts[8]++;
				 		if (isok(x - i, y - i, z) && board[x - i][y - i][z] == turn) cnts[9]++;
				 		if (isok(x + i, y, z + i) && board[x + i][y][z + i] == turn) cnts[10]++;
				 		if (isok(x + i, y, z - i) && board[x + i][y][z - i] == turn) cnts[11]++;
				 		if (isok(x - i, y, z + i) && board[x - i][y][z + i] == turn) cnts[12]++;
				 		if (isok(x - i, y, z - i) && board[x - i][y][z - i] == turn) cnts[13]++;
				 		if (isok(x, y + i, z + i) && board[x][y + i][z + i] == turn) cnts[14]++;
				 		if (isok(x, y + i, z - i) && board[x][y + i][z - i] == turn) cnts[15]++;
				 		if (isok(x, y - i, z + i) && board[x][y - i][z + i] == turn) cnts[16]++;
				 		if (isok(x, y - i, z - i) && board[x][y - i][z - i] == turn) cnts[17]++;
				 		if (isok(x + i, y + i, z + i) && board[x + i][y + i][z + i] == turn) cnts[18]++;
				 		if (isok(x + i, y + i, z - i) && board[x + i][y + i][z - i] == turn) cnts[19]++;
				 		if (isok(x + i, y - i, z + i) && board[x + i][y - i][z + i] == turn) cnts[20]++;
				 		if (isok(x + i, y - i, z - i) && board[x + i][y - i][z - i] == turn) cnts[21]++;
				 		if (isok(x - i, y + i, z + i) && board[x - i][y + i][z + i] == turn) cnts[22]++;
				 		if (isok(x - i, y + i, z - i) && board[x - i][y + i][z - i] == turn) cnts[23]++;
				 		if (isok(x - i, y - i, z + i) && board[x - i][y - i][z + i] == turn) cnts[24]++;
				 		if (isok(x - i, y - i, z - i) && board[x - i][y - i][z - i] == turn) cnts[25]++;
				 	}
				 	
				 	for_(i,0,30) if (cnts[i] == m) return true;
				 }
				 z--;
			}
		}
	}
	
	return false;
}

void solve() {
	minit(board, -1);
	
	int turn = 1;	// 1:black, 0:white
	for_(i,0,p) {
		int x = X[i] - 1, y = Y[i] - 1;
		int z = 0;
		while (board[x][y][z] != -1) z++;
		board[x][y][z] = turn;
		
		if (check(turn)) {
			if (turn) cout << "Black " << i + 1 << endl;
			else cout << "White " << i + 1 << endl;
			return;
		}
		
		turn ^= 1;
	}
	
	cout << "Draw" << endl;
}

int main() {
	while (cin >> n >> m >> p, n) {
		for_(i, 0, p) cin >> X[i] >> Y[i];
		solve();
	}
	
	return 0;
}

Measured memory_bytes: 1372