#include <bits/stdc++.h>
using namespace std;
queue<pair<int, int> > qu;
int dis1[1010][1010], dis2[1010][1010], n, m;
const int A[] = {1, 2, 2, 1, -1, -2, -2, -1},
          B[] = {2, 1, -1, -2, -2, -1, 1, 2};
void bfs1(int x, int y) {
  dis1[x][y] = 0;
  qu.push(make_pair(x, y));
  while (!qu.empty()) {
    int X = qu.front().first, Y = qu.front().second;
    qu.pop();
    for (int i = 0; i < 8; i++) {
      int x2 = X + A[i], y2 = Y + B[i];
      if (x2 < 1 || x2 > n || y2 < 1 || y2 > m) continue;
      if (dis1[x2][y2] != -1) continue;
      dis1[x2][y2] = dis1[X][Y] + 1;
      qu.push(make_pair(x2, y2));
    }
  }
}
void bfs2(int x, int y) {
  dis2[x][y] = 0;
  qu.push(make_pair(x, y));
  while (!qu.empty()) {
    int X = qu.front().first, Y = qu.front().second;
    qu.pop();
    for (int i = 0; i < 8; i++) {
      int x2 = X + A[i], y2 = Y + B[i];
      if (x2 < 1 || x2 > n || y2 < 1 || y2 > m) continue;
      if (dis2[x2][y2] != -1) continue;
      dis2[x2][y2] = dis2[X][Y] + 1;
      qu.push(make_pair(x2, y2));
    }
  }
}
void dfs1(int x, int y) {
  for (int i = 0; i < 8; i++) {
    int x1 = A[i] + x, ___y1 = B[i] + y;
    if (x1 < 1 || x1 > n || ___y1 < 1 || ___y1 > m) continue;
    if (dis1[x1][___y1] < dis1[x][y]) {
      printf("%d %d\n", x1, ___y1);
      dfs1(x1, ___y1);
      return;
    }
  }
}
void dfs2(int x, int y) {
  for (int i = 0; i < 8; i++) {
    int x1 = A[i] + x, ___y1 = B[i] + y;
    if (x1 < 1 || x1 > n || ___y1 < 1 || ___y1 > m) continue;
    if (dis2[x1][___y1] < dis2[x][y]) {
      printf("%d %d\n", x1, ___y1);
      dfs2(x1, ___y1);
      return;
    }
  }
}
int main() {
  int x1, x2, ___y1, y2;
  scanf("%d%d", &n, &m);
  scanf("%d%d%d%d", &x1, &___y1, &x2, &y2);
  memset(dis1, -1, sizeof(dis1));
  memset(dis2, -1, sizeof(dis2));
  bfs1(n / 2, m / 2), bfs2(n / 2 + 1, m / 2);
  int D1 = dis1[x1][___y1], D2 = dis2[x2][y2];
  int D3 = dis2[x1][___y1], D4 = dis1[x2][y2];
  if ((x1 + ___y1) % 2 == (x2 + y2) % 2) {
    if (D1 > D2)
      puts("BLACK"), dfs2(x2, y2);
    else if (D4 <= D1) {
      puts("BLACK");
      dfs1(x2, y2);
      dfs2(n / 2, m / 2);
    } else {
      puts("WHITE");
      dfs1(x1, ___y1);
    }
  } else {
    if (D1 <= D2)
      puts("WHITE"), dfs1(x1, ___y1);
    else if (D3 - 1 <= D2) {
      puts("WHITE");
      dfs2(x1, ___y1);
      dfs1(n / 2 + 1, m / 2);
    } else {
      puts("BLACK");
      dfs2(x2, y2);
    }
  }
}
