\begin{problem}{День рождения}{стандартный ввод}{стандартный вывод}{2 секунды}{256 мегабайт}

Скоро у Васи день рождения, на который он пригласил $N$ друзей. Для застолья он планирует приготовить $M$ разных салатов. Осталось определиться, сколько ложек какого салата необходимо приготовить.

Вася отлично знает предпочтения своих друзей. А именно, он знает значения $H_{i,j}$ --- количество единиц счастья, которое принесёт одна ложка $j$-го салата $i$-му гостю ($1 \le i \le N$, $1 \le j \le M$). Кроме того, ему известно, что в желудок $i$-го гостя помещается $V_i$ ложек салата.

Наш Вася очень любит своих друзей, поэтому он хочет приготовить столько салатов, чтобы каждый друг был максимально счастлив. Например, если $i$-й гость съест $C_1$ ложек $j$-го салата и $C_2$ ложек $k$-го салата ($C_1 + C_2 \le V_i$), то он получит $C_1 \cdot H_{i,j} + C_2 \cdot H_{i, k}$ единиц счастья.  

С другой стороны, Вася не любит, когда какого-то салата слишком много на столе, а также, когда после застолья остаётся лишняя еда. Поэтому он хочет тщательно рассчитать объем каждого салата. Его цели в порядке приоритета: 
\begin{enumerate}
\item Сделать максимально счастливыми всех его друзей
\item Минимизировать объем самого большого салата на столе
\item Минимизировать суммарный объём приготовленных салатов
\end{enumerate}

Вася очень занят подготовкой стола, поэтому просит Вас помочь ему с этой нелегкой задачей.

\InputFile
Первая строка содержит два целых числа $N$ и $M$ ($1 \le N, M \le 100$) --- количество гостей на дне рождения и количество салатов соответственно.

Вторая строка содержит $N$ целых чисел $V_i$ ($1 \le V_i \le 10^3$) --- объёмы желудков гостей в ложках.

Следующие $N$ строк описывают предпочтения гостей. В $i$-й строке содержатся $M$ чисел $H_{i,j}$ ($1 \le i \le N$, $1 \le j \le M$, $1 \le H_{i,j} \le 10^3$) --- описание предпочтений $i$-го гостя.


\OutputFile
В первую строку выведите одно целое число --- максимальное суммарное счастье.

Во вторую строку выведите через пробел $M$ целых чисел $W_j$ --- объёмы салатов, которые необходимо приготовить Васе.

В следующие $N$ строк выведите по $M$ чисел через пробел. $j$-е число в $i$-й строке означает количество ложек $j$-го салата, которое должен съесть $i$-й гость. Заметьте, объем $j$-го салата, который суммарно съедят гости, должен быть равен $W_j$. 

Если существует несколько решений, выведите любое.

\Scoring
Баллы за каждую подзадачу начисляются только в случае, если все тесты для этой подзадачи
и необходимых подзадач успешно пройдены.

\begin{center}
 \begin{tabular}{|p{2cm}|p{2cm}|p{4cm}|p{3cm}|p{3cm}|} 
 \hline
 \centering Подзадача & \centering Баллы & \hspace*{\fill}Дополнительные \hspace*{\fill}\linebreak \hspace*{\fill}ограничения \hspace*{\fill} & \hspace*{\fill}Необходимые\hspace*{\fill} \linebreak \hspace*{\fill}подзадачи\hspace*{\fill} & \hspace*{\fill}Информация \hspace*{\fill} \linebreak \hspace*{\fill} о проверке \hspace*{\fill} \\ 
 \hline\hline
 \centering 1 & \centering 10 & \centering все $H_{i, j}$ различны для $1 \le j \le M$ & & \hspace*{\fill} полная \hspace*{\fill} \\ 
 \hline
 \centering 2 & \centering 10 & \centering $H_{i, j} = H_{i,j+1}$ для $1 \le j \le M-1$& & \hspace*{\fill} полная \hspace*{\fill} \\
 \hline
 \centering 3 & \centering 30 & \centering $V_i = 1$ для $1 \le i \le N$& \centering 1, 2 & \hspace*{\fill} полная \hspace*{\fill} \\
 \hline
 \centering 4 & \centering 50 & \centering --- & \centering 1, 2, 3 & \hspace*{\fill} полная \hspace*{\fill} \\
 \hline
\end{tabular}
\end{center}

\Example

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

\end{problem}

