#include<iostream>
#include<algorithm>
using namespace std;
int n,m,p;
int t[10][10][10];

int A[10][10][10];
int B[10][10][10];
int C[10][10][10];

int D[10][10][10];
int E[10][10][10];
int F[10][10][10];
int G[10][10][10];
int H[10][10][10];
int I[10][10][10];

int J[10][10][10];
int K[10][10][10];
int L[10][10][10];
int M[10][10][10];


bool calc(int x,int y,int z){
  if(t[x][y][z]==-1)return false;
  int maxm=0;
  A[x][y][z]=1;
  B[x][y][z]=1;
  C[x][y][z]=1;
  D[x][y][z]=1;
  E[x][y][z]=1;
  F[x][y][z]=1;
  G[x][y][z]=1;
  H[x][y][z]=1;
  I[x][y][z]=1;
  J[x][y][z]=1;
  K[x][y][z]=1;
  L[x][y][z]=1;
  M[x][y][z]=1;
  
  if(t[x][y][z]==t[x-1][y][z]){
    maxm=max(maxm,A[x][y][z]=A[x-1][y][z]+1);
  }
  if(t[x][y][z]==t[x][y-1][z]){
    maxm=max(maxm,B[x][y][z]=B[x][y-1][z]+1);
  }
  if(t[x][y][z]==t[x][y][z-1]){
    maxm=max(maxm,C[x][y][z]=C[x][y][z-1]+1);
  }
  
  if(t[x][y][z]==t[x-1][y-1][z]){
    maxm=max(maxm,D[x][y][z]=D[x-1][y-1][z]+1);
  }
  if(t[x][y][z]==t[x+1][y-1][z]){
    maxm=max(maxm,E[x][y][z]=E[x+1][y-1][z]+1);
  }
  if(t[x][y][z]==t[x][y-1][z-1]){
    maxm=max(maxm,F[x][y][z]=F[x][y-1][z-1]+1);
  }
  if(t[x][y][z]==t[x][y+1][z-1]){
    maxm=max(maxm,G[x][y][z]=G[x][y+1][z-1]+1);
  }
  if(t[x][y][z]==t[x-1][y][z-1]){
    maxm=max(maxm,H[x][y][z]=H[x-1][y][z-1]+1);
  }
  if(t[x][y][z]==t[x+1][y][z-1]){
    maxm=max(maxm,I[x][y][z]=I[x+1][y][z-1]+1);
  }
  
  if(t[x][y][z]==t[x-1][y-1][z-1]){
    maxm=max(maxm,J[x][y][z]=J[x-1][y-1][z-1]+1);
  }
  if(t[x][y][z]==t[x-1][y+1][z-1]){
    maxm=max(maxm,K[x][y][z]=K[x-1][y+1][z-1]+1);
  }
  
  if(t[x][y][z]==t[x+1][y-1][z-1]){
    maxm=max(maxm,L[x][y][z]=L[x+1][y-1][z-1]+1);
  }
  
  if(t[x][y][z]==t[x+1][y+1][z-1]){
    maxm=max(maxm,M[x][y][z]=M[x+1][y+1][z-1]+1);

  }
  
  if(maxm==m){
    cout<<(t[x][y][z]?"White":"Black")<<" ";
    return true;
  }else{
    return false;
  }
}

bool check(){
  for(int i=1;i<9;i++)
    for(int j=1;j<9;j++)
      for(int k=1;k<9;k++)
	if(calc(k,j,i))return true;
  return false;
}

void init(){
  for(int i=0;i<10;i++)
    for(int j=0;j<10;j++)
      for(int k=0;k<10;k++)
	t[i][j][k]=-1;
  for(int x=0;x<10;x++)
    for(int y=0;y<10;y++)
      for(int z=0;z<10;z++){
        A[x][y][z]=0;
	B[x][y][z]=0;
	C[x][y][z]=0;
	D[x][y][z]=0;
	E[x][y][z]=0;
	F[x][y][z]=0;
	G[x][y][z]=0;
	H[x][y][z]=0;
	I[x][y][z]=0;
	J[x][y][z]=0;
	K[x][y][z]=0;
	L[x][y][z]=0;
	M[x][y][z]=0;
      }
}

void solve(){
  bool flg=false;
  for(int i=0;i<p;i++){
    int x,y;
    cin>>x>>y;
    if(flg)continue;
    for(int j=1;j<10;j++){
      if(t[x][y][j]==-1){
	t[x][y][j]=i%2;
	break;
      }
    }
    if(check()){
      flg=true;
      cout<<i+1<<endl;
      /*
      for(int z=1;z<=n;z++){
	for(int x=1;x<=n;x++){
	  for(int y=1;y<=n;y++){
	    printf("%3d",t[x][y][z]);
	  }
	  cout<<endl;
	}
	cout<<endl;
      }
*/
    }
  }
  if(!flg)cout<<"Draw"<<endl;
}

int main(){
  while(1){
    cin>>n>>m>>p;
    if(n==0&&m==0&&p==0)break;
    init();
    solve();
 
  }
  return 0;
}