// AOJ 1249: Make a Sequence
// 2017.10.16 bal4u@uu

#include <stdio.h>
#include <string.h>

typedef struct { int x, y; } T;
T a[350];

int n, m;
char peg[8][8][8]; char hi[8][8];

int dx[13] = { 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1 };
int dy[13] = { 0, 1, 0, 1,-1, 0, 0, 1, 1, 1, 1,-1,-1 };
int dz[13] = { 0, 0, 1, 0, 0, 1,-1, 1,-1, 1,-1, 1,-1 };

int check(int x, int y, int z, int color)
{
	int xx, yy, zz, i, cnt1, cnt2;

	for (i = 0; i < 13; i++) {
		xx = x, yy = y, zz = z, cnt1 = 0;
		while (0 <= xx && xx < n && 0 <= yy && yy < n &&
			   0 <= zz && zz < n && peg[xx][yy][zz] == color) {
			xx += dx[i], yy += dy[i], zz += dz[i];
			if(++cnt1 >= m) return 1;
		}
		xx = x, yy = y, zz = z, cnt2 = -1;
		while (0 <= xx && xx < n && 0 <= yy && yy < n &&
			   0 <= zz && zz < n && peg[xx][yy][zz] == color) {
			xx -= dx[i], yy -= dy[i], zz -= dz[i];
			if(++cnt2 >= m) return 1;
		}
		if (cnt1 + cnt2 >= m) return 1;
	}
	return 0;
}

int main()
{
	int p, i, x, y, z, color;

	while (scanf("%d%d%d", &n, &m, &p) && n > 0) {
		memset(peg, -1, sizeof(peg)); memset(hi, 0, sizeof(hi));
		for (i = 0; i < p; i++) scanf("%d%d", &a[i].x, &a[i].y);
		for (color = 1,i = 0; i < p; i++, color = !color) {
			x = a[i].x-1, y = a[i].y-1, z = hi[x][y]++;
			peg[x][y][z] = color;
			if (check(x, y, z, color)) break;
		}
		if (i == p) puts("Draw");
		else printf("%s %d\n", color ? "Black" : "White", i+1);
    }
	return 0;
}