program main
   implicit none
   integer H, W, i, j, TF
   character, allocatable :: s(:, :)
   read(*, *) H, W
   allocate(s(0:H+1, 0:W+1))
   s(:, :) = '.'
   do j = 1, H
       do i = 1, W-1
           read(*, '(a1)', advance = 'No') s(j, i)
	   end do
       read(*, '(a1)') s(j, W)
   end do
   TF = 0
   do j = 1, H
       do i = 1, W
	       if(s(i, j) == '#') then
	           if(s(i, j) == s(i-1, j) .or. s(i, j) == s(i+1, j) .or. s(i, j) == s(i, j-1) .or. s(i, j) == s(i, j+1)) then
		            TF = TF + 0
		       else
		            TF = TF - 1
				    exit
		       end if
	       end if
	   end do
   end do
   if(TF == 0) then
       write(*, *) 'Yes'
   else
       write(*, *) 'No'
   end if
end program main