using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
class Program
{
    static void Main(string[] args)
    {
        int x, y;

        string[] str = Console.ReadLine().Split(' ');//2つ以上のスペース区切り入力の取得
        x = int.Parse(str[0]);  //数値で受け取りたい場合は変換する
        y = int.Parse(str[1]);


        int[,] mas = new int[x, y];

        for (int i = 0; i < y; i++)
        {
            var str2 = Console.ReadLine();
            for (int j = 0; j < x; j++)
            {
                if (str2[j] == '#')
                    mas[j,i] = 1;
                else if (str2[j] == '.')
                    mas[j,i] = 0;
            }
        }

        bool check = false;

        List<int> check_y = new List<int>();

        for(int i = 0; i < y; i++)
        {
            for(int j = 0; j < x-1 ; j++)
            {
                if(mas[j,i] == 1)
                {
                    if (mas[j + 1, i] == 0)
                        if (j - 1 >= 0)
                        {
                            if (mas[j - 1, i] == 0)
                                check_y.Add(i * y + j);
                        }
                        else
                        {
                            check_y.Add(i * y + j);
                        }
                }
            }
        }


        check_y.Reverse();
        for(int i = 0;i < y-1;i++)
        {
            for(int j = 0;j < x;j++)
            {
                if(i * y+j == check_y.Last())
                {
                   // Console.WriteLine((i * y + j).ToString() + " " + check_y.Last().ToString());
                    if (mas[j, i] == 1)
                    {
                        if (mas[j, i + 1] == 0)
                        {
                            if (i - 1 >= 0)
                            {
                                if (mas[j, i-1] == 0)
                                    check = true;
                            }
                            else
                            {
                                check = true;
                            }
                        }
                    }
                    if(check_y.Count>0)
                    check_y.Remove(check_y.Last());
                }
            }
        }
        string ans = "";
        if (check)
            ans = "No";
        else
            ans = "Yes";

        Console.WriteLine(ans);


        /*
        int[] canvas = new int[mas];

        for(int i =0;i<x;i++)
        {
            var str2 = Console.ReadLine().Split(' ');
            for (int j = 0; j < y; j++)
            {
                if (str2[j] == "*")
                    canvas[x * i + j] = 1;
                else if (str2[j] == ".")
                    canvas[x * i + j] = 1;
            }
        }

        for(int i = 0;i<mas;i++)
        {
            if(canvas[i] == 1)
            {

            }
        }
        */
    }
}