#include<bits/stdc++.h>
using namespace std;
const int INF=0x3f3f3f3f;
int n,a1,a2,b1,b2,ans;
int f[2][70][21][21][21][21];
int work(int x,int step,int c1,int r1,int c2,int r2)
{
if(step>3*n) return INF;
int ans;
if(f[x][step][c1][r1][c2][r2]) return f[x][step][c1][r1][c2][r2];
if(r1 == r2 && c1 == c2) return x?INF:0;
if(!x)
{
ans=0;
if(c1>1) ans=max(ans,work(1,step+1,c1-1,r1,c2,r2));
if(c1<n) ans=max(ans,work(1,step+1,c1+1,r1,c2,r2));
if(r1>1) ans=max(ans,work(1,step+1,c1,r1-1,c2,r2));
if(r2<n) ans=max(ans,work(1,step+1,c1,r1+1,c2,r2));
}
else
{
ans=INF;
if(r2>1) ans = min(ans, work(0, step+1, c1, r1, c2-1, r2));
if(r2>2) ans = min(ans, work(0,step+1, c1,r1, c2-2, r2));
if(r2<n) ans = min(ans, work(0, step+1, c1, r1, c2+1, r2));
if(r2<n-1) ans = min(ans, work(0, step+1, c1, r1, c2+2, r2));
if(c2>1) ans = min(ans, work(0, step+1, c1, r1, c2, r2-1));
if(c2>2) ans = min(ans, work(0, step+1, c1, r1, c2, r2-2));
if(c2<n) ans = min(ans, work(0, step+1, c1, r1, c2, r2+1));
if(c2<n-1) ans = min(ans, work(0, step+1, c1, r1, c2, r2+2));
}
f[x][step][c1][r1][c2][r2]=++ans;
return ans;
}
int main()
{
scanf("%d%d%d%d%d",&n,&a1,&b1,&a2,&b2);
if(abs(a1-a2)+abs(b1-b2)<=1) printf("WHITE 1\n");
else printf("BLACK %d\n",work(0,0,a1,b1,a2,b2));
return 0;
}