#include <bits/stdc++.h>
using namespace std;
int dx[] = {-2, -2, -1, -1, 1, 1, 2, 2};
int dy[] = {-1, 1, -2, 2, -2, 2, -1, 1};
int arr[105][105];
int n;
bool valid(int i, int j) { return i >= 1 && i <= n && j >= 1 && j <= n; }
int main() {
  cin >> n;
  int x = 1, y = 1;
  queue<pair<int, pair<int, int>>> q;
  q.push({1, {x, y}});
  memset(arr, 0, sizeof arr);
  arr[1][1] = 1;
  while (q.empty() == false) {
    pair<int, pair<int, int>> it = q.front();
    q.pop();
    int c = it.first;
    x = it.second.first;
    y = it.second.second;
    for (int i = 0; i < 8; i++) {
      int p = x + dx[i];
      int r = y + dy[i];
      if (valid(p, r) && arr[p][r] == 0) {
        if (c == 1) {
          arr[p][r] = 2;
          q.push({2, {p, r}});
        } else {
          arr[p][r] = 1;
          q.push({1, {p, r}});
        }
      }
    }
  }
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n; j++) {
      if (arr[i][j] == 0)
        for (int k = 0; k < 8; k++) {
          int x = i + dx[k];
          int y = j + dy[k];
          if (valid(x, y)) {
            arr[i][j] = arr[x][y] == 1 ? 2 : 1;
            break;
          }
        }
      if (arr[i][j] == 0) arr[i][j] = 1;
    }
  }
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n; j++) cout << (arr[i][j] == 1 ? 'W' : 'B');
    cout << endl;
  }
  return 0;
}
