\begin{problem}{Пазл}{стандартный ввод}{стандартный вывод}{3 секунды}{256 мегабайт}

Вам дано клеточное поле $n \times m$. Некоторые клетки имеют углубления, в которые можно вставлять фигурки; они обозначены символом <<\texttt{.}>>, остальные клетки обозначены символом <<\texttt{\#}>>.

Также у вас есть фигурки трех видов, которые вы можете вставлять в любые свободные клетки поля. Они изображены на рисунке ниже:

\begin{center}
  \def \htmlPixelsInCm {45}  % pixels in 1 centimeter in HTML mode
  \includegraphics[width=8cm]{figures.jpg}
\end{center}

Ваша задача состоит в том, чтобы заполнить \textbf{все} свободные клетки указанными фигурками или сказать, что это невозможно.

\InputFile
Первая строка ввода содержит одно число $t$ ($1 \le t \le 10^4$)~--- количество наборов входных данных. Затем следуют описания наборов.

Первая строка каждого набора содержит пару чисел $n$ и $m$ ($2 \le n, m \le 10^6$)~--- высоту и ширину поля, соответственно.

Затем следуют $n$ строк, каждая из которых состоит из $m$ символов <<\texttt{.}>> или <<\texttt{\#}>>.

Сумма $n \cdot m$ по всем наборам входных данных не превосходит $2 \cdot 10^6$.

\OutputFile
Для каждого набора входных данных выведите <<\texttt{No}>>, если ответа не существует.

В ином случае в первой строке выведите <<\texttt{Yes}>>, а затем выведите $n$ строк, каждая из которых состоит из $m$ чисел от $0$ до $10^9$. Клетки, в которых нет фигурок, должны быть обозначены числом $0$, а остальные клетки могут содержать произвольные числа, при чем каждая фигурка должна быть обозначена множеством клеток, содержащих одинаковые числа.

\Example

\begin{example}
\exmpfile{example.01}{example.01.a}%
\end{example}

\end{problem}

