#include <iostream>
//#include <fstream>
#include <stdio.h>
using namespace std;

#define in cin
//ifstream in("2682.txt");

void quicksort(int a[], int ini, int fin) {
	int i = ini, j = fin;
	int med = a[(ini+fin)/2], temp;

	while (i <= j) {
		while (a[i] < med) i++;
		while (med < a[j]) j--;
		if (i <= j) {
			temp = a[i]; a[i] = a[j]; a[j] = temp;
			i++; j--;
		}
	}

	if (ini < j) quicksort(a, ini, j);
	if (i < fin) quicksort(a, i, fin);
}

inline int maxi(int a, int b) {
    return (a < b) ? b : a;
}

inline int mini(int a, int b) {
    return (a < b) ? a : b;
}

inline void sumaGrupos(int arr[], int n, int & sumaG1, int & sumaG2) {
    sumaG1 = sumaG2 = 0;
    for (int i = 0; i < n/2; i++)
        if (i % 2 == 0)
            if (i == n/2 - 1) {
                if (sumaG1 < sumaG2) {
                    sumaG1 += maxi(arr[i], arr[i+1]);
                    sumaG2 += mini(arr[i], arr[i+1]);
                } else {
                    sumaG1 += mini(arr[i], arr[i+1]);
                    sumaG2 += maxi(arr[i], arr[i+1]);
                }
            } else
                sumaG1 += arr[i] + arr[n-1-i];
        else
            sumaG2 += arr[i] + arr[n-1-i];
}

int main() {
    int n,m,negro,blancosG1,blancosG2;
    double elemsGrupo;

    while (in >> n) {
        in >> m;

        int blancos[n];
        for (int i = 0; i < n; i++)
        	in >> blancos[i] >> negro;

        quicksort(blancos, 0, n-1);
        sumaGrupos(blancos, n, blancosG1, blancosG2);
        elemsGrupo = m * n / 2;

        if (blancosG1 > elemsGrupo/2 && blancosG2 > elemsGrupo/2)
            printf("W %.2f\n", ((double) mini(blancosG1, blancosG2) / elemsGrupo * 100));
        else if (blancosG1 < elemsGrupo/2 && blancosG1 < elemsGrupo/2)
            printf("B %.2f\n", ((double) mini(elemsGrupo - blancosG1, elemsGrupo - blancosG2) / elemsGrupo * 100));
        else
            cout << "No solution" << endl;
    }

    return 0;
}

