const int dx[]={1,0,0,1, 1,0, 0,1,-1,1, 1, 1, 1};
const int dy[]={0,1,0,1,-1,1, 1,0, 0,1, 1,-1,-1};
const int dz[]={0,0,1,0, 0,1,-1,1, 1,1,-1, 1,-1};
M[9][9][9],H[9][9],q[2];main(n,m,p,I,x,y,z,j,c,d,J){for(;scanf("%d%d%d",&n,&m,&p),n;){
	for(memset(M,I=0,sizeof(M)),memset(H,I=0,sizeof(H)),c=1;I++<p;c*=-1){
		scanf("%d%d",&x,&y);
		if(H[x][y]==0)H[x][y]=1;
		M[x][y][z=H[x][y]++]=c;
		for(d=0;d<13;d++){
			for(j=0;j<2;j++)for(q[j]=0;;q[j]+=2*j-1)if(M[x+dx[d]*q[j]][y+dy[d]*q[j]][z+dz[d]*q[j]]!=c)break;
			if(q[1]-q[0]-1>=m){printf(c==1?"Black %d\n":"White %d\n",I);goto next;}
		}
	}
	puts("Draw");
next:
	for(;I++<p;)scanf("%d%d",&x,&y);
}exit(0);}