using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] str = Console.ReadLine().Split(' ');
            int a, b;
            a = int.Parse(str[0]); 
            b = int.Parse(str[1]);

            string[,] map  = new string[a,b];

            for (int i =0; i < a ; i++)
            {
               string stra = Console.ReadLine();
                for (int ii = 0; ii < b ; ii++)
                {
                    map[i, ii] = stra.Substring(ii, 1);
                }
            }

            bool flag = false;

            if(map[0,0] == "#")
            {
                if(map[0,1] == "." && map[1,0] == ".")
                {
                    flag = true;
                }
            }
            if (map[0, b-1] == "#")
            {
                if (map[0, b-2] == "." && map[1, b-1] == ".")
                {
                    flag = true;
                }
            }
            if (map[a-1, 0] == "#")
            {
                if (map[a-2, 0] == "." && map[a-1, 1] == ".")
                {
                    flag = true;
                }
            }
            if (map[a-1, b-1] == "#")
            {
                if (map[a-2, b-1] == "." && map[a-1, b-2] == ".")
                {
                    flag = true;
                }
            }

            for(int i = 1; i < b-1; i++)
            {
                if (map[0, i] == "#")
                {
                    if (map[0, i - 1] == "." && map[1, i] == "." && map[0, i + 1] == ".")
                    {
                        flag = true;
                    }
                }
            }
            for (int i = 1; i < b - 1; i++)
            {
                if (map[a-1, i] == "#")
                {
                    if (map[a-1, i - 1] == "." && map[a-2, i] == "." && map[a-1, i + 1] == ".")
                    {
                        flag = true;
                    }
                }
            }
            for (int i = 1; i < a - 1; i++)
            {
                if (map[i, 0] == "#")
                {
                    if (map[i-1, 0] == "." && map[i, 1] == "." && map[i+1,1] == ".")
                    {
                        flag = true;
                    }
                }
            }
            for (int i = 1; i < a - 1; i++)
            {
                if (map[i, b-1] == "#")
                {
                    if (map[i - 1, b-1] == "." && map[i, b-2] == "." && map[i + 1, b-1] == ".")
                    {
                        flag = true;
                    }
                }
            }

            for (int i = 1; i < a - 2 ; i++)
            {
                for (int ii = 1; ii < b - 2; ii++)
                {
                    
                    if(map[i,ii] == "#")
                    {
                        if (map[i -1 ,ii] == "." && map[i + 1,ii] == "." && map[i,ii-1] == "." && map[i, ii + 1] == ".")
                        {
                            flag = true;
                        }
                    }

                }
            }

            int flag2 = 0;

            for (int i = 0; i < a; i++)
            {
                for (int ii = 0; ii < b; ii++)
                {

                    if (map[i, ii] == "#")
                    {
                        flag2++;
                    }

                }
            }
            if(flag2 <= 1)
            {
                flag = true;
            }

            if (flag)
            {
                Console.WriteLine("No");
            }
            else
            {
                Console.WriteLine("Yes");
            }
        }
    }
}
