#include <bits/stdc++.h>   using namespace std;   int n, m;   int x[2600], y[2600];   string a[60];   bool valid(int y, int x1, int y1, int x, int x2, int y2) {     for (int i = min(x1, x2); i <= max(x1, x2); i++) {       if (a[i][y] !=  B ) {         return false;       }     }     for (int i = min(y1, y2); i <= max(y1, y2); i++) {       if (a[x][i] !=  B ) {         return false;       }     }     return true;   }   int main() {     ios::sync_with_stdio(0);     cin.tie(0);     cin >> n >> m;     int k = 0;     for (int i = 0; i < n; i++) {       cin >> a[i];       for (int j = 0; j < m; j++) {         if (a[i][j] ==  B ) {           x[k] = i;           y[k] = j;           k++;         }       }     }     for (int i = 0; i < k; i++) {       for (int j = i + 1; j < k; j++) {         if (valid(y[i], x[i], y[i], x[j], x[j], y[j])) {           continue;         }         if (valid(y[j], x[i], y[i], x[i], x[j], y[j])) {           continue;         }         cout <<  NO  << endl;         return 0;       }     }     cout <<  YES  << endl;   }   