using System.Linq;
using System;
using System.IO;
using System.Collections.Generic;
using static System.Console;

class Program
{
  
  int[] dx = new int[] {0, 1, 0, -1};
  int[] dy = new int[] {-1, 0, 1, 0};
  static void Main(string[] args) =>
    new Program().solve();

  void solve()
  {
    var param = ReadLine().Split(' ').Select(int.Parse).ToArray();
    var h = param[0];
    var w = param[1];
    var tar = Enumerable.Range(0, h).Select(_ => ReadLine().ToCharArray()).ToArray();
    var grid = new bool[h, w];

    for(int y = 0; y < h; y++)
    {
      for(int x = 0; x < w; x++)
      {
        if(!grid[y, x] && tar[y][x] == '#')
        {
          grid[y, x] = 
            Enumerable.Range(0, 4)
              .Where(i =>
                (x + dx[i]) >= 0 &&
                (x + dx[i])  < h &&
                (y + dy[i]) >= 0 &&
                (y + dy[i])  < w)
              .Select(i => tar[y + dy[i]][x + dx[i]])
              .Any(ch => ch == '#');

          if(!grid[y, x])
          {
            WriteLine("No");
            return;
          }
        }
      }
    }
    WriteLine("Yes");
  }
}