<p>You are given an <code>m x n</code> matrix <code>board</code>, representing the<strong> current </strong>state of a crossword puzzle. The crossword contains lowercase English letters (from solved words), <code>''</code> to represent any <strong>empty </strong>cells, and <code>'#'</code> to represent any <strong>blocked</strong> cells.</p>
<p>A word can be placed<strong> horizontally</strong> (left to right <strong>or</strong> right to left) or <strong>vertically</strong> (top to bottom <strong>or</strong> bottom to top) in the board if:</p>
<ul>
<li>It does not occupy a cell containing the character <code>'#'</code>.</li>
<li>The cell each letter is placed in must either be <code>''</code> (empty) or <strong>match</strong> the letter already on the <code>board</code>.</li>
<li>There must not be any empty cells <code>''</code> or other lowercase letters <strong>directly left or right</strong><strong></strong>of the word if the word was placed <strong>horizontally</strong>.</li>
<li>There must not be any empty cells <code>''</code> or other lowercase letters <strong>directly above or below</strong> the word if the word was placed <strong>vertically</strong>.</li>
</ul>
<p>Given a string <code>word</code>, return <code>true</code><em> if </em><code>word</code><em> can be placed in </em><code>board</code><em>, or </em><code>false</code><em><strong>otherwise</strong></em>.</p>