#include <cstdio>
#include <cmath>
#include <cassert>
using namespace std;


char b[100][100];

void drawBolt(int n, int cx, int cy, int r, bool hor) {
	for (int x = 0; x < n; x++) {
		for (int y = 0; y < n; y++) {
			if (abs((x - cx) * (x - cx) + (y - cy) * (y - cy) - r * r) <= 13) {
				b[x][y] = 'B';
			}	
		}
	}
	if (hor) {
		for (int y = cy - r; y <= cy + r; y++) {
			b[cx][y] = 'B';
		}
	} else {
		for (int x = cx - r; x <= cx + r; x++) {
			b[x][cy] = 'B';
		}
	}
}

int main() {
	int n = 100;

	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			b[i][j] = 'W';
		}
	}

	drawBolt(n, 50, 20, 15, true);
	drawBolt(n, 50, 50, 15, false);
	drawBolt(n, 50, 80, 15, true);

	printf("%d\n", n);
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			putchar(b[i][j]);
		}
		putchar('\n');
	}
	return 0;
}
