선영이는 새로운 퍼즐을 만들었다. 이 퍼즐은 모두 똑같이 생긴 L 모양 조각으로 진행한다. 각 조각은 정사각형 세 개를 L 자 모양으로 붙여 만든 것으로, 꺾이는 모서리에 있는 정사각형 한 개는 검은색이고 나머지 두 개는 흰색이다. 즉 한 조각은 검은색 정사각형 하나와, 그 정사각형의 바로 위나 아래에 붙은 흰색 정사각형 하나, 그리고 바로 왼쪽이나 오른쪽에 붙은 흰색 정사각형 하나로 이루어진다. 조각은 90도 단위로 회전할 수 있으므로, 검은색 정사각형을 기준으로 두 흰색 정사각형의 위치는 (왼쪽·위), (오른쪽·위), (왼쪽·아래), (오른쪽·아래) 네 가지 방향 중 하나가 될 수 있다.
퍼즐의 목표는 이러한 L 조각들을 격자 위에 놓아, 주어진 검은색·흰색 패턴을 정확히 만드는 것이다. 조각은 회전할 수 있지만 서로 겹쳐 놓을 수는 없다. 각 조각은 검은색 칸 하나와 흰색 칸 두 개를 덮으며, 패턴에서 색이 칠해진 칸은 모두 정확히 한 조각으로 덮여야 하고 빈 칸은 어떤 조각으로도 덮여서는 안 된다.
여러 개의 패턴이 주어질 때, 각 패턴을 이 L 조각들로 만들 수 있는지 판별하는 프로그램을 작성하시오. 조각은 무한히 많다고 가정한다.
첫째 줄에 테스트 케이스의 개수 $T$가 주어진다. ($1 \le T \le 100$)
각 테스트 케이스의 첫째 줄에는 패턴의 높이 $n$과 너비 $m$이 공백으로 구분되어 주어진다. ($1 \le n, m \le 500$) 이어지는 $n$개의 줄에는 각각 길이가 $m$인 문자열로 패턴이 주어진다. 각 문자는 'B'(검은색 칸), 'W'(흰색 칸), '.'(빈 칸) 중 하나다. 각 패턴에는 색이 칠해진 칸(검은색 또는 흰색)이 적어도 한 개 있다.
각 테스트 케이스마다, 주어진 패턴을 L 조각들로 만들 수 있으면 YES를, 만들 수 없으면 NO를 한 줄에 출력한다.