#include <bits/stdc++.h>   using namespace std;   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     long long t, n, m, i, j;     cin >> n >> m;     string a[n];     for (long long i = 0; i < n; i++) cin >> a[i];     long long f = 0;     for (long long i = 0; i < n; i++) {       for (long long j = 0; j < m; j++) {         if (a[i][j] ==  . ) continue;         if (i - 1 >= 0 && j - 1 >= 0 && a[i - 1][j] ==  X  &&             a[i][j - 1] ==  X  && a[i - 1][j - 1] ==  . ) {           f = 1;           break;         }         if (i - 1 >= 0 && j + 1 < n && a[i - 1][j] ==  X  && a[i][j + 1] ==  X  &&             a[i - 1][j + 1] ==  . ) {           f = 1;           break;         }         if (i + 1 < n && j - 1 >= 0 && a[i][j - 1] ==  X  && a[i + 1][j] ==  X  &&             a[i + 1][j - 1] ==  . ) {           f = 1;           break;         }         if (i + 1 < n && j + 1 < n && a[i + 1][j] ==  X  && a[i][j + 1] ==  X  &&             a[i + 1][j + 1] ==  . ) {           f = 1;           break;         }       }       if (f) break;     }     for (long long i = 0; i < n; i++) {       for (long long j = 0; j < m; j++) {         if (a[i][j] ==  . ) continue;         if (i - 1 >= 0 && j - 1 >= 0 && a[i - 1][j - 1] ==  X  &&             (a[i - 1][j] ==  .  || a[i][j - 1] ==  . )) {           f = 1;           break;         }         if (i - 1 >= 0 && j + 1 < n && a[i - 1][j + 1] ==  X  &&             (a[i - 1][j] ==  .  || a[i][j + 1] ==  . )) {           f = 1;           break;         }         if (i + 1 < n && j - 1 >= 0 && a[i + 1][j - 1] ==  X  &&             (a[i + 1][j] ==  .  || a[i][j - 1] ==  . )) {           f = 1;           break;         }         if (i + 1 < n && j + 1 < n && a[i + 1][j + 1] ==  X  &&             (a[i + 1][j] ==  .  || a[i][j + 1] ==  . )) {           f = 1;           break;         }       }       if (f) break;     }     if (f)       cout <<  NO n ;     else       cout <<  YES n ;   }   