#include <iostream>
#include <cstdio>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <deque>
#include <stack>
#include <algorithm>
#include <cstring>
#include <functional>
#include <cmath>
using namespace std;
#define rep(i,n) for(int i=0;i<(n);++i)
#define rep1(i,n) for(int i=1;i<=(n);++i)
#define all(c) (c).begin(),(c).end()
#define fs first
#define sc second
#define pb push_back
#define show(x) cout << #x << " " << x << endl
int N,H,p,a[7][7][7],cnt[7][7];
bool is(int x,int y,int z){
	return 0<=x&&x<N&&0<=y&&y<N&&0<=z&&z<N;
}
bool win(int i){
	rep(xx,N) rep(yy,N) rep(zz,N){
		for(int dx=-1;dx<=1;dx++) for(int dy=-1;dy<=1;dy++) for(int dz=-1;dz<=1;dz++){
			if(dx==0&&dy==0&&dz==0) continue;
			bool ok=true;
			rep(t,H){
				if(!is(xx+dx*t,yy+dy*t,zz+dz*t)||a[xx+dx*t][yy+dy*t][zz+dz*t]!=i%2){
					ok=false;
					break;
				}
			}
			if(ok) return true;
		}
	}
	return false;
}
int main(){
	while(true){
		cin>>N>>H>>p;
		if(N==0) break;
		rep(i,N) rep(j,N) rep(k,N) a[i][j][k]=-1;
		rep(i,N) rep(j,N) cnt[i][j]=0;
		rep(i,p){
			int x,y;
			cin>>x>>y;
			x--,y--;
			a[x][y][cnt[x][y]++]=i%2;
			if(win(i)){
				cout<<((i+1)%2?"Black ":"White ")<<i+1<<endl;
				rep(j,p-i-1) cin>>x>>y;
				break;
			}
			if(i==p-1) puts("Draw");
		}
	}
}