Tom xüsusi bir tapmaca hazırlayıb: bu, eyni formalı bir çox fiquru əhatə edir. Fiqurlar L hərfi şəklində üç kvadrat formasındadır. Küncdəki kvadrat qara, ona bitişik iki kvadrat isə ağdır.

Tapmacanın girişində düzbucaqlı şəbəkədə qara və ağ kvadratların şəkli verilir. Məqsəd bu şəkli mövcud fiqurlarla yenidən yaratmaqdır. Fiqurlar fırladıla bilər, lakin üst-üstə düşməməlidir.
Tom artıq bir neçə yaxşı şəkil hazırlayıb və onların ümumiyyətlə fiqurlarla yığıla biləcəyini bilmək istəyir. Hər bir şəkli əl ilə yoxlamaq əvəzinə, bunun üçün proqram yazmaq istəyir. Ona kömək edə bilərsinizmi?
Birinci sətir testlərin sayını ehtiva edir, ən çoxu 100. Sonra hər bir test üçün:
bir sətir iki tam ədəd n və m (1 ≤ n, m ≤ 500): şəkli ehtiva edən şəbəkənin hündürlüyü və eni.
n sətir, hər biri şəbəkənin m simvolunu ehtiva edir. Simvol 'B', 'W' və ya '.' ola bilər ki, bu da müvafiq olaraq qara, ağ və ya boş hüceyrəyə uyğun gəlir.
Şəbəkədə ən azı bir qara və ya ağ kvadrat var.
Hər bir test üçün fiqurlarla verilmiş şəkli yığmağın mümkün olub-olmamasına görə bir sətir çıxarın, "YES" və ya "NO" yazın. Fiqurların sayının məhdudiyyətsiz olduğunu qəbul edin.
Nümunə 1