Little Artem
Young boy Artem tries to paint a picture, and he asks his mother Medina to help him. Medina is very busy, that's why she asked for your help.Artem wants to paint an $$$n \times m$$$ board. Each cell of the board should be colored in white or black. Lets $$$B$$$ be the number of black cells that have at least one white neighbor adjacent by the side. Let $$$W$$$ be the number of white cells that have at least one black neighbor adjacent by the side. A coloring is called good if $$$B = W + 1$$$. The first coloring shown below has $$$B=5$$$ and $$$W=4$$$ (all cells have at least one neighbor with the opposite color). However, the second coloring is not good as it has $$$B=4$$$, $$$W=4$$$ (only the bottom right cell doesn't have a neighbor with the opposite color).  Please, help Medina to find any good coloring. It's guaranteed that under given constraints the solution always exists. If there are several solutions, output any of them.
In the first testcase, $$$B=3$$$, $$$W=2$$$.In the second testcase, $$$B=5$$$, $$$W=4$$$. You can see the coloring in the statement.
Each test contains multiple test cases. The first line contains the number of test cases $$$t$$$ ($$$1 \le t \le 20$$$). Each of the next $$$t$$$ lines contains two integers $$$n, m$$$ ($$$2 \le n,m \le 100$$$) — the number of rows and the number of columns in the grid.
For each test case print $$$n$$$ lines, each of length $$$m$$$, where $$$i$$$-th line is the $$$i$$$-th row of your colored matrix (cell labeled with 'B' means that the cell is black, and 'W' means white). Do not use quotes.It's guaranteed that under given constraints the solution always exists.
from math import ceil
import math
from math import gcd
import bisect
from bisect import bisect_right
from itertools import combinations
from collections import Counter
ceil1 = lambda a, b: (a + b - 1) // b
cubic_root = lambda n: round(math.exp(math.log(n) / 3), 6)
range_sum = lambda l, r: (l + r) * (r - l + 1) // 2

def get_sublists(lst):
    n = len(lst)
    sublists = []
    for start in range(n):
        for end in range(start + 1, n + 1):
            sublists.append(lst[start:end])
    return sublists
from collections import Counter

def get_prod(arr):
    ans = 1
    for i in arr:
        ans *= i
    return ans

def get_distance(a1, b1):
    (x1, y1) = (a1[0], a1[1])
    (x2, y2) = (b1[0], b1[1])
    dist = abs(x2 - x1) + abs(y2 - y1)
    return dist

def solve2(list_arr):
    n = len(list_arr)
    res = []
    for i in range(n - 1):
        res.append(get_distance(list_arr[i], list_arr[i + 1]))
    return sum(res)

def solve3(n):
    if n % 2 == 0:
        return 'BB' * (n - 1)
    else:
        init = 'B' * (n - 1)
        return init[:-1]

def solve():
    for _ in range(int(input())):
        (n, m) = list(map(int, input().split()))
        ans = []
        for i in range(n):
            ans.append('B' * m)
        first = len(ans[0])
        second = 'W' + 'B' * (first - 1)
        ans[0] = second
        for i in ans:
            print(i)
solve()
for _ in range(int(input())):
    (n, m) = map(int, input().split())
    result = [m * ['B'] for _ in range(n)]
    result[0][0] = 'W'
    for i in range(n):
        print(''.join(result[i]))
def little_artem(n, m):
    sol = 'W' + 'B' * (m - 1) + ('\n' + 'B' * m) * (n - 1)
    return sol
if __name__ == '__main__':
    t = int(input())
    for test_case in range(t):
        (n, m) = map(int, input().split())
        print(little_artem(n, m))