program ABC096C
    implicit none
    integer(8)::H,W,i,j,judge
    integer(8),allocatable,dimension(:,:)::flg
    character(50),allocatable,dimension(:)::S
    read*,H,W
    allocate(flg(W,H))
    allocate(S(H))
    flg=0
    judge=0
    read*,S

    do i=1,H
        do j=1,W
            if(S(i)(j:j)=="#")then
                if(j<W)then
                    if(S(i)(j+1:j+1)=="#")then
                        flg(j,i)=1
                        flg(j+1,i)=1
                    end if
                end if

                if(j>1)then
                    if(S(i)(j-1:j-1)=="#")then
                        flg(j,i)=1
                        flg(j-1,i)=1
                    end if
                end if

                if(i<H)then
                    if(S(i+1)(j:j)=="#")then
                        flg(j,i)=1
                        flg(j,i+1)=1
                    end if
                end if

                if(i>1)then
                    if(S(i-1)(j:j)=="#")then
                        flg(j,i)=1
                        flg(j,i-1)=1
                    end if
                end if
            end if
        end do
    end do

    do i=1,H
        do j=1,W
            if(S(i)(j:j)=="#".and.flg(j,i)==0)then
                judge=1
                exit
            end if
        end do

        if(judge==1)exit
    end do

    if(judge==0)print'(A)',"Yes"
    if(judge==1)print'(A)',"No"
end program ABC096C