#include<bits/stdc++.h>
using namespace std;

void put(int n, int i, int x, int y, vector<vector<vector<int> > >& peg){

    int turn;
    if(i % 2 == 0) turn = 1;         //黒
    else turn = -1;                  //白

    for(int j = n - 1; j >= 0; j--){
        if(j == 0){
            peg[x][y][j] = turn;
            break;
        }
        if(peg[x][y][j - 1] != 0){
            peg[x][y][j] = turn;
            break;
        }
    }
    
    return;
}

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

bool check(int n, int a, int m, vector<vector<vector<int> > >& peg){

    /*cout << a << endl;
    cout << peg[0][0][0] << " " << peg[0][1][0] << " " << peg[0][2][0] << endl;
    cout << peg[1][0][0] << " " << peg[1][1][0] << " " << peg[1][2][0] << endl;
    cout << peg[2][0][0] << " " << peg[2][1][0] << " " << peg[2][2][0] << endl;
    cout << endl;*/
    int turn;
    if(a % 2 == 0) turn = 1;      //黒
    else turn = -1;               //白

    for(int i = 0; i < n; i++){
        for(int j = 0; j < n; j++){
            for(int k = 0; k < n; k++){
                if(peg[i][j][k] == turn){

                    //cout << "ok" << endl;
                    for(int h = 0; h < 13; h++){

                        bool flag = true;

                        int ni = i + dx[h];
                        int nj = j + dy[h];
                        int nk = k + dz[h];
                        for(int l = 1; l < m; l++){
                            if(ni == n || ni == -1 || nj == n || nj == -1 ||  nk == n || nk == -1 || peg[ni][nj][nk] != turn){
                                flag = false;
                                break;
                            }
                            ni += dx[h];
                            nj += dy[h];
                            nk += dz[h];
                            //cout << l << " " << ni << " " << nj << " " << nk << endl;
                        }

                        
                        if(flag) return true;
                    }
                }
            }
        }
    }

    return false;
}

int main(){


    while(1){
        int n, m, p; cin >> n >> m >> p;
        if(!n) break;

        vector<vector<vector<int> > > peg(n, vector<vector<int> > (n, vector<int> (n, 0)));

        for(int i = 0; i < p; i++){

            int x, y; cin >> x >> y;
            x--;
            y--;
            put(n, i, x, y, peg);              //ボールを置く
            bool flag = check(n, i, m, peg);      //勝敗判定
            if(flag){
                if(i % 2 == 0){ 
                    cout << "Black " << i + 1 << endl;
                    for(int j = i + 1; j < p; j++){
                        int s, t; cin >> s >> t;
                    }  
                    break; 
                }
                else{ 
                    cout << "White " << i + 1 << endl;
                    for(int j = i + 1; j < p; j++){
                        int s, t; cin >> s >> t;
                    }
                    break; 
                }
            }

            if(i == p - 1){ cout << "Draw" << endl; break; }
        }

        /*for(int i = 0; i < n; i++){
            for(int j = 0; j < n; j++){
                cout << peg[i][j][0] << " ";
            }

            cout << endl;
        }*/
        
    }

    return 0;
}


Measured memory_bytes: 3140