Problem: On a chessboard with a width of n and a height of n, rows are numbered from bottom to top from 1 to n, columns are numbered from left to right from 1 to n. Therefore, for each cell of the chessboard, you can assign the coordinates (r,c), where r is the number of the row, and c is the number of the column.

The white king has been sitting in a cell with (1,1) coordinates for a thousand years, while the black king has been sitting in a cell with (n,n) coordinates. They would have sat like that further, but suddenly a beautiful coin fell on the cell with coordinates (x,y)...

Each of the monarchs wanted to get it, so they decided to arrange a race according to slightly changed chess rules:

As in chess, the white king makes the first move, the black king makes the second one, the white king makes the third one, and so on. However, in this problem, kings can stand in adjacent cells or even in the same cell at the same time.

The player who reaches the coin first will win, that is to say, the player who reaches the cell with the coordinates (x,y) first will win.

Let's recall that the king is such a chess piece that can move one cell in all directions, that is, if the king is in the (a,b) cell, then in one move he can move from (a,b) to the cells (a + 1,b), (a - 1,b), (a,b + 1), (a,b - 1), (a + 1,b - 1), (a + 1,b + 1), (a - 1,b - 1), or (a - 1,b + 1). Going outside of the field is prohibited.

Determine the color of the king, who will reach the cell with the coordinates (x,y) first, if the white king moves first.

Input

The first line contains a single integer n (2 ≤ n ≤ 10^{18}) — the length of the side of the chess field.

The second line contains two integers x and y (1 ≤ x,y ≤ n) — coordinates of the cell, where the coin fell.

Output

In a single line print the answer "White" (without quotes), if the white king will win, or "Black" (without quotes), if the black king will win.

You can print each letter in any case (upper or lower).

Examples

Input

4
2 3


Output

White

Input

5
3 5


Output

Black

Input

2
2 2


Output

Black

Note

An example of the race from the first sample where both the white king and the black king move optimally:

  1. The white king moves from the cell (1,1) into the cell (2,2).
  2. The black king moves form the cell (4,4) into the cell (3,3).
  3. The white king moves from the cell (2,2) into the cell (2,3). This is cell containing the coin, so the white king wins.

<image>

An example of the race from the second sample where both the white king and the black king move optimally:

  1. The white king moves from the cell (1,1) into the cell (2,2).
  2. The black king moves form the cell (5,5) into the cell (4,4).
  3. The white king moves from the cell (2,2) into the cell (3,3).
  4. The black king moves from the cell (4,4) into the cell (3,5). This is the cell, where the coin fell, so the black king wins.

<image>

In the third example, the coin fell in the starting cell of the black king, so the black king immediately wins.

<image>

Solution (in JAVA):

Solution:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Scanner;

public class Semanai {
	
	public static void problemaA() {
		Scanner sc = new Scanner(System.in);
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		HashMap<Integer, Integer> a = new HashMap<Integer, Integer>(); //Key: numeor de la ruta, Value: La diferencia contra la hora el morrito
		
		int nRutas = sc.nextInt();
		int llegadaMorrito = sc.nextInt();
		
		for (int i = 1; i <= nRutas; i++) {
			//i es el nombre del ruta
			int llegadaCamion = sc.nextInt();
			int diferencia = sc.nextInt();
			
			if(llegadaMorrito == llegadaCamion) {
				System.out.println(i);
				break;
			}
			
			if(llegadaCamion > llegadaMorrito) {
				a.put(i, llegadaCamion - llegadaMorrito);
				
			}else {
				while(llegadaCamion < llegadaMorrito) {
					llegadaCamion += diferencia;
				}
				
				if(llegadaMorrito == llegadaCamion) {
					System.out.println(i);
					break;
				}
				a.put(i, llegadaCamion - llegadaMorrito);	
			}		
		}
		
		Entry<Integer, Integer> min = null;
		for(Entry<Integer, Integer> entry : a.entrySet()) {
	        if (min == null || min.getValue() >= entry.getValue()) {
	            if(min == null || min.getValue() > entry.getValue()){
	                min = entry;
	            }
	        }
	    }
		System.out.println(min.getKey());
	}

	public static void problemaB() {
		Scanner sc = new Scanner(System.in);
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n = sc.nextInt();
		int limite = (int)(n/2) + 1;
		int contCeros = 0;
		int contNegativos = 0;
		int contPositivos = 0;
		String[] arreglo = null;
		
		
		try {
			arreglo = br.readLine().split(" ");
		} catch (IOException e1) {
			e1.printStackTrace();
		}
		
		try {
			for (int i = 0; i < arreglo.length; i++) {
				int numero = Integer.parseInt(arreglo[i]);
				
				if (numero == 0) {
					contCeros++;
				}else if (numero < 0) {
					contNegativos++;
				}else if(numero > 0) {
					contPositivos++;
				}
				
			}
		}catch (Exception e) {	
		}
		
		
		if(contCeros >= limite) {
			System.out.println("0");
		}else if(contNegativos >= limite) {
			System.out.println("-1");
		}else {
			System.out.println("1");
		}
	}
	
	public static void problemaC() {
		Scanner sc = new Scanner(System.in);
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int base = sc.nextInt();
		int exponente = sc.nextInt();
		String[] arreglo = null;
		int contador = 0;
		
		try {
			arreglo = br.readLine().split(" ");
		} catch (IOException e1) {
			e1.printStackTrace();
		}
	
		
		try {
			int exp = exponente;
			for (int i = 0; i < arreglo.length; i++) {
				int numero = Integer.parseInt(arreglo[i]);
				contador += numero * (Math.pow(base, exp-1));
				exp--;	
			}
		}catch (Exception e) {	
		}
		
		if(contador%2 == 0) {
			System.out.println("even");
		}else {
			System.out.println("odd");
		}
		
	}
		
	public static void problemaE() {
		Scanner sc = new Scanner(System.in);
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		long tamaño = sc.nextLong();
		long[] moneda = new long[2];
		String[] linea = null;
		long DistanciaBlanco = 0;
		long DistanciaNegro = 0;
		long[] blanco = {1,1};
		long[] negro = {tamaño, tamaño};
		long moneda0 = sc.nextLong();
		long moneda1 = sc.nextLong();
		
		//leer a la moneda
		/*
		try {
			linea = br.readLine().split(" ");
		} catch (IOException e1) {
			e1.printStackTrace();
		}
	
		//Convertir la moneda a int
		try {
			for (int i = 0; i < linea.length; i++) {
				moneda[i] = Integer.parseInt(linea[i]);	
			}
		}catch (Exception e) {	
		}
		*/
		
		//Comparar
		DistanciaBlanco = (moneda0 - 1) + (moneda1 - 1);
		DistanciaNegro = (tamaño - moneda0) + (tamaño - moneda1);
		
		if(DistanciaBlanco == DistanciaNegro) {
			System.out.println("White");
		}else if(DistanciaBlanco < DistanciaNegro) {
			System.out.println("White");
		}else {
			System.out.println("Black");
		}
		
		
		
	}

	public static void problemaF() {
		Scanner sc = new Scanner(System.in);
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int tamaño = sc.nextInt();
		int habilidad = sc.nextInt();
		
		String[] linea = null;
		int contador =0;
		
		try {
			linea = br.readLine().split(" ");
		} catch (IOException e1) {
			e1.printStackTrace();
		}
		
		int[] arreglo = new int[linea.length];
		
		try {
			for (int i = 0; i < arreglo.length; i++) {
				arreglo[i] = Integer.parseInt(linea[i]);
			}
		}catch (Exception e) {	
		}
		
		while(arreglo.length>0) {
			while(habilidad >= arreglo[0]) {
				contador++;
				arreglo = Arrays.copyOfRange(arreglo, 1, arreglo.length);
				
				if(arreglo.length == 0 ) break;
			}
			
			if (arreglo.length >0) {
				while(habilidad >= arreglo[arreglo.length-1]) {
					contador++;
					//arreglo = Arrays.copyOfRange(arreglo, 1, arreglo.length);
					arreglo = Arrays.copyOfRange(arreglo, 0, arreglo.length-1);
				}
			}
			
		}
		
		
		System.out.println(contador);
		
		
		
	}
	
	public static void problemaG() {
		
		Scanner sc = new Scanner(System.in);
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int tamaño = sc.nextInt();
		int integrantes = sc.nextInt();
		String[] linea = null;
		ArrayList<Integer> fini = new ArrayList<Integer>();
		HashMap<String, String> a = new HashMap<String, String>();
		
		try {
			linea = br.readLine().split(" ");
		} catch (IOException e1) {
			e1.printStackTrace();
		}
		

		for (int i = 0; i < linea.length; i++) {
			if(a.isEmpty()) {
				a.put(linea[i], linea[i]);
				fini.add(i + 1);
			}else {
				if(a.containsKey(linea[i])) {
					continue;
				}else {
					a.put(linea[i], linea[i]);
					fini.add(i + 1);
				}
			}
		}
		
		if(fini.size() != integrantes) {
			System.out.println("NO");
		}else {
			System.out.println("YES");
			System.out.println(fini.toString());
		}
		
	}
	
	public static void problemaH() {
		Scanner sc = new Scanner(System.in);
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int n = sc.nextInt();
		String[] linea = null;
		
		for (int i = 0; i < n; i++) {
			long x = sc.nextLong();
			long y = sc.nextLong();
			
			if(x - y > 1) {
				System.out.println("YES");
			}else {
				System.out.println("NO");
			}

			
		}
	}
	
	public static void main(String[] args) {
		
		problemaE();
		
	}//Termina el main
	
	
}