CF1667F Yin Yang

Description

You are given a rectangular grid with $ n $ rows and $ m $ columns. $ n $ and $ m $ are divisible by $ 4 $ . Some of the cells are already colored black or white. It is guaranteed that no two colored cells share a corner or an edge. Color the remaining cells in a way that both the black and the white cells becomes orthogonally connected or determine that it is impossible. Consider a graph, where the black cells are the nodes. Two nodes are adjacent if the corresponding cells share an edge. If the described graph is connected, the black cells are orthogonally connected. Same for white cells.

Input Format

The input consists of multiple test cases. The first line of the input contains a single integer $ t $ ( $ 1 \le t \le 4000 $ ) — the number of test cases. The description of the test cases follows. The first line of each test case contains two integers $ n $ , $ m $ ( $ 8 \le n, m \le 500 $ , $ n $ and $ m $ are divisible by $ 4 $ ) — the number of rows and columns. Each of the next $ n $ lines contains $ m $ characters. Each character is either 'B', 'W' or '.', representing black, white or empty cell respectively. Two colored (black or white) cell does not share a corner or an edge. It is guaranteed that the sum of $ n \cdot m $ over all test cases does not exceed $ 250\,000 $ .

Output Format

For each testcase print "NO" if there is no solution, otherwise print "YES" and a grid with the same format. If there are multiple solutions, you can print any.

Explanation/Hint

Solution for test case 1: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1667F/3dc9d1049e5e9d683890dfa8ead1eafd76cdf4e9.png)Test case 2: one can see that the black and the white part can't be connected in the same time. So the answer is "NO".