h,w=io.read("*n","*n")
grid={}
for i=1,h+2 do
    grid[i]={}
    if i~=1 and i~=h+2 then
        s=io.read()
    end
    for j=1,w+2 do
        if i==1 or i==h+2 then
            grid[i][j]="."
        else
            if j==1 or j==w+2 then
                grid[i][j]="."
            else
                grid[i][j]=s:sub(j-1,j-1)
            end
        end
    end
end

feasible=true
for i=2,h+1 do
    for j=2,w+1 do
        if grid[i][j-1]..grid[i][j]..grid[i][j+1]==".#." and grid[i-1][j]..grid[i][j]..grid[i+1][j]==".#." then
            feasible=false
        end
    end
end
if feasible then
    print("Yes")
else
    print("No")
end