t = int(input())
for _ in range(t):
n, m = map(int, input().split())
grid = [input() for _ in range(n)]
possible = True
# Check horizontal pairs
for i in range(n):
for j in range(m - 1):
if grid[i][j] != grid[i][j + 1]:
possible = False
# Check vertical pairs
for j in range(m):
for i in range(n - 1):
if grid[i][j] != grid[i + 1][j]:
possible = False
if possible:
print("YES")
else:
print("NO")
dCA9IGludChpbnB1dCgpKQoKZm9yIF8gaW4gcmFuZ2UodCk6CiAgICBuLCBtID0gbWFwKGludCwgaW5wdXQoKS5zcGxpdCgpKQogICAgZ3JpZCA9IFtpbnB1dCgpIGZvciBfIGluIHJhbmdlKG4pXQoKICAgIHBvc3NpYmxlID0gVHJ1ZQoKICAgICMgQ2hlY2sgaG9yaXpvbnRhbCBwYWlycwogICAgZm9yIGkgaW4gcmFuZ2Uobik6CiAgICAgICAgZm9yIGogaW4gcmFuZ2UobSAtIDEpOgogICAgICAgICAgICBpZiBncmlkW2ldW2pdICE9IGdyaWRbaV1baiArIDFdOgogICAgICAgICAgICAgICAgcG9zc2libGUgPSBGYWxzZQoKICAgICMgQ2hlY2sgdmVydGljYWwgcGFpcnMKICAgIGZvciBqIGluIHJhbmdlKG0pOgogICAgICAgIGZvciBpIGluIHJhbmdlKG4gLSAxKToKICAgICAgICAgICAgaWYgZ3JpZFtpXVtqXSAhPSBncmlkW2kgKyAxXVtqXToKICAgICAgICAgICAgICAgIHBvc3NpYmxlID0gRmFsc2UKCiAgICBpZiBwb3NzaWJsZToKICAgICAgICBwcmludCgiWUVTIikKICAgIGVsc2U6CiAgICAgICAgcHJpbnQoIk5PIikK
OAoyIDEKVwpCCjYgNgpXV1dXQlcKV0JXV1dXCkJCQldXVwpCV1dXQkIKV1dCV0JCCkJCQldCVwoxIDEKVwoyIDIKQkIKQkIKMyA0CkJXQlcKV0JXQgpCV0JXCjQgMgpCQgpCQgpXVwpXVwo0IDQKV1dCVwpCQldCCldXQkIKQkJCQgoxIDUKV0JCV0IK
8
2 1
W
B
6 6
WWWWBW
WBWWWW
BBBWWW
BWWWBB
WWBWBB
BBBWBW
1 1
W
2 2
BB
BB
3 4
BWBW
WBWB
BWBW
4 2
BB
BB
WW
WW
4 4
WWBW
BBWB
WWBB
BBBB
1 5
WBBWB