#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;


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



int main(){
	int n,m,p;
	while(cin>>n>>m>>p,n){
		int mp[9][9][9],num[9][9]={0};
		memset(mp,-1,sizeof(mp));
		int draw=1;
		int P=p;
		int once=1;
		for(int i=1;i<=p;i++,P--){
			int x,y,z;
			cin>>x>>y;
			if(once){
				if(num[x][y]>=n)break;
				num[x][y]++;
				z=num[x][y];
				mp[x][y][z]=i%2;
				
				int win=0;
				
				for(int j=0;j<13;j++){
					
					int a=0;
					
					for(int k=1;mp[x+dx[j]*k][y+dy[j]*k][z+dz[j]*k]==i%2;k++,a++);
					for(int k=1;mp[x-dx[j]*k][y-dy[j]*k][z-dz[j]*k]==i%2;k++,a++);
					
					
					if(a+1>=m)win=1;
				}
				
				if(win==1&&i%2==1&&once){
					once=0;
					cout<<"Black "<<i<<endl;
					draw=0;
				}
				if(win==1&&i%2==0&&once){
					once=0;
					cout<<"White "<<i<<endl;
					draw=0;
				}
			}
		}
		
		if(draw)cout<<"Draw\n";
		
		/*
		for(int z=1;z<=n;z++){
			for(int y=1;y<=n;y++){
				for(int x=1;x<=n;x++){
					if(mp[x][y][z]>=0)cout<<mp[x][y][z];
					else cout<<"*";
				}
				cout<<endl;
			}
			cout<<endl;
		}
		*/
	}
	
	return 0;
}
