### constant

BLACK = 0
WHITE = 1

### subroutines

def max_seq(n, flds, x, y, z, dx, dy, dz)
  max_seq = seq = 0
  prv = nil

  while x >= 0 && x < n && y >= 0 && y < n && z >= 0 && z < n
    f = flds[x][y][z]
    if f.nil?
      max_seq = seq if prv && max_seq < seq
      seq = 0
      prv = nil
    elsif f != prv
      max_seq = seq if prv && max_seq < seq
      seq = 1
      prv = f
    else
      seq += 1
    end

    x += dx
    y += dy
    z += dz
  end
  max_seq = seq if prv && max_seq < seq

  #p max_seq
  max_seq
end

def check(n, m, flds)
  ## 1D
  # +x
  for y in (0...n)
    for z in (0...n)
      return true if max_seq(n, flds, 0, y, z, 1, 0, 0) >= m
    end
  end
  # +y
  for x in (0...n)
    for z in (0...n)
      return true if max_seq(n, flds, x, 0, z, 0, 1, 0) >= m
    end
  end
  # +z
  for x in (0...n)
    for y in (0...n)
      return true if max_seq(n, flds, x, y, 0, 0, 0, 1) >= m
    end
  end

  ## 2D
  for z in (0...n)
    # +x, +y
    return true if max_seq(n, flds,     0, 0, z,  1, 1, 0) >= m
    # -x, +y
    return true if max_seq(n, flds, n - 1, 0, z, -1, 1, 0) >= m
  end
  for x in (0...n)
    # +y, +z
    return true if max_seq(n, flds, x,     0, 0, 0,  1, 1) >= m
    # -y, +z
    return true if max_seq(n, flds, x, n - 1, 0, 0, -1, 1) >= m
  end
  for y in (0...n)
    # +z, +x
    return true if max_seq(n, flds, 0, y,     0, 1, 0,  1) >= m
    # -z, +x
    return true if max_seq(n, flds, 0, y, n - 1, 1, 0, -1) >= m
  end

  ## 3D
  # +x, +y, +z
  return true if max_seq(n, flds, 0,     0,     0, 1,  1,  1) >= m
  # +x, +y, -z
  return true if max_seq(n, flds, 0,     0, n - 1, 1,  1, -1) >= m
  # +x, -y, +z
  return true if max_seq(n, flds, 0, n - 1,     0, 1, -1,  1) >= m
  # +x, -y, -z
  return true if max_seq(n, flds, 0, n - 1, n - 1, 1, -1, -1) >= m

  false
end

### main

loop do
  n, m, pn = gets.split.map(&:to_i)
  break if (n | m | pn) == 0

  mvs = pn.times.map{gets.split.map{|d| d.to_i - 1}}
  #p mvs

  flds = n.times.map{n.times.map{n.times.map{nil}}}
  zs = n.times.map{n.times.map{0}}

  turn = BLACK
  nmv = 0
  winner = nil

  mvs.each do |x, y|
    nmv += 1
    flds[x][y][zs[x][y]] = turn
    zs[x][y] += 1

    if check(n, m, flds)
      winner = turn
      break
    end

    turn = (turn == BLACK) ? WHITE : BLACK
  end

  if winner.nil?
    puts 'Draw'
  else
    puts [winner == BLACK ? 'Black' : 'White', nmv].join(' ')
  end
end