#include #include #include using namespace std; using ll=long long; #define all(v) v.begin(),v.end() #define rall(v) v.rbegin(),v.rend() template bool chmax(T &a, T b){if (a < b){a = b;return true;} else return false;} template bool chmin(T &a, T b){if (a > b){a = b;return true;} else return false;} int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int H,W; cin>>H>>W; vectorS(H); for(int i=0;i>S[i]; vector V(4,vector(H,vector(W))); for(int i=0;i=0&&j-1>=0?V[0][i-1][j-1]:0)+1; V[1][i][j]=(i-1>=0&&j+1=0;i--){ for(int j=0;j=0?V[3][i+1][j-1]:0)+1; } } } vector X(H+1,vector(W+1)),Y(H+1,vector(W+1)); for(int i=0;i0){ X[i-l][j-l]++; X[i+l+1][j+l+1]--; Y[i-l][j+l+1]++; Y[i+l+1][j-l]--; } } } } for(int i=1;i<=H;i++){ for(int j=1;j<=W;j++){ X[i][j]+=X[i-1][j-1]; } } for(int i=1;i<=H;i++){ for(int j=0;j0&&S[i][j]=='.')||(sum==0&&S[i][j]=='#')){ cout<<"No"<<"\n"; return 0; } } } cout<<"Yes"<<"\n"; }