#include <stdio.h>
#include <stdlib.h>
#define F(x, y) (x >= 0 && x < w && y >= 0 && y < h ? f[y][x] : '.')

int main(void){
    int i, j, h, w, flag;
    
    char **f;
    
    scanf("%d %d", &h, &w);
    
    f = malloc(sizeof(int) * i * j);
    
    for (i = 0; i < h; i++) {
        f[i] = malloc(sizeof(int) * w);
        scanf("%s", &f[i][0]);
    }
    
    flag = 1;
    for (i = 0; i < h; i++) {
        for (j = 0; j < w; j++) {
            if (F(j, i) == '#') {
                if (F(j-1, i)=='#'||F(j+1, i)=='#'||F(j, i-1)=='#'||F(j, i+1)=='#') {
                } else {
                    flag = 0;
                    i = h;
                    j = w;
                }
            }
        }
    }
    
    printf("%s\n", flag ? "Yes" : "No");

    return 0;
}