#include <bits/stdc++.h>
using namespace std;
int vis[500][500];
int ans[200][200];
int n;
int movx[] = {-2, -2, -1, -1, 1, 1, 2, 2};
int movy[] = {1, -1, 2, -2, 2, -2, 1, -1};
queue<pair<int, int> > q;
bool isValid(int x, int y) {
  if (x > n || y > n || x < 1 || y < 1) return false;
  return true;
}
void bfs() {
  while (!q.empty()) {
    int x = q.front().first;
    int y = q.front().second;
    q.pop();
    if (vis[x][y] == 0) {
      vis[x][y] = 1;
      for (int i = 0; i < 8; i++) {
        if (isValid(x + movx[i], y + movy[i])) {
          q.push({x + movx[i], y + movy[i]});
          ans[x + movx[i]][y + movy[i]] = 1 - ans[x][y];
        }
      }
    }
  }
}
int main() {
  scanf("%d", &n);
  memset(ans, -1, sizeof ans);
  memset(vis, 0, sizeof vis);
  q.push({1, 1});
  ans[1][1] = 1;
  bfs();
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n; j++) {
      if (ans[i][j] == 1)
        printf("W");
      else if (ans[i][j] == 0)
        printf("B");
      else
        printf("W");
    }
    printf("\n");
  }
  return 0;
}
