#include<stdio.h>
void main(){
    int H,W;
    scanf("%d %d",&H,&W);
    char grid[H+2][W+2];
    int i,j;
    for(i=1; i<=H; i++){
        for(j=1; j<=W; j++){
            scanf("%c",&grid[i][j]);
        }
    }

    for(i=0; i<=H+1; i++){
        grid[i][0] = '.';
        grid[i][W+1] = '.';
    }
    for(j=1; j<=W; j++){
        grid[0][j] = '.';
        grid[H+1][j] = '.';
    }

    int check = 1;

    for(i=1; i<=H; i++){
        for(j=1; j<=W; j++){
            if(grid[i][j] == '#'){
                if( !( grid[i-1][j-1] == '#' && grid[i+1][j-1] == '#' 
                && grid[i-1][j+1] == '#' && grid[i+1][j+1] == '#') ){
                    check == 0;
                    break;
                }
            }

        }
        if(check == 0)break;
    }
    if(check==1){
        printf("Yes");
    }else{
        printf("No");
    }
}
