#include <bits/stdc++.h>
using namespace std;
long long int fact(long long int n, long long int p) {
  long long int ans = 1;
  for (long long int i = 1; i <= n; i++) {
    ans *= i;
    ans %= p;
  }
  return ans;
}
long long int power(long long int x, long long int n, long long int p) {
  long long int res = 1;
  if (n == 1) return x % p;
  if (n % 2 == 1) res = x % p;
  long long int temp = power(x, n / 2, p);
  return res * ((temp * temp) % p) % p;
}
long long int inv(long long int a, long long int p) {
  return power(a, p - 2, p);
}
long long int nCr(long long int n, long long int r, long long int p) {
  if (r > n) return 0;
  long long int t1 = fact(n, p);
  long long int t2 = inv(fact(r, p), p);
  long long int t3 = inv(fact(n - r, p), p);
  return (((t1 * t2) % p) * t3) % p;
}
vector<vector<long long int> > multiply(vector<vector<long long int> > &a,
                                        vector<vector<long long int> > &b,
                                        long long int p) {
  int r1, c1, r2, c2;
  r1 = a.size();
  c1 = a[0].size();
  r2 = b.size();
  c2 = b[0].size();
  vector<vector<long long int> > result(r1, vector<long long int>(c2, 0));
  if (c1 != r2) return result;
  for (int i = 0; i < r1; i++) {
    for (int j = 0; j < c2; j++) {
      for (int k = 0; k < c1; k++) {
        result[i][j] += a[i][k] * b[k][j];
        result[i][j] %= p;
      }
    }
  }
  return result;
}
vector<vector<long long int> > power(vector<vector<long long int> > &a,
                                     long long int n, long long int p) {
  int r = a.size();
  vector<vector<long long int> > result(r, vector<long long int>(r, 0));
  for (int i = 0; i < r; i++) result[i][i] = 1;
  while (n > 0) {
    if (n % 2 == 1) {
      result = multiply(result, a, p);
    }
    n /= 2;
    a = multiply(a, a, p);
  }
  return result;
}
void solve() {
  int N, M;
  cin >> N >> M;
  vector<string> vec(N);
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < M; j++) {
      if ((i * M + j) % 2 == 0)
        vec[i].push_back('B');
      else
        vec[i].push_back('W');
    }
  }
  if (!(N & 1 && M & 1)) {
    vec[0][1] = 'B';
  }
  for (int i = 0; i < N; i++) cout << vec[i] << endl;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int T;
  cin >> T;
  while (T--) {
    solve();
  }
  return 0;
}
