\begin{problem}{$k$ паросочетаний}{multiassignment.in}{multiassignment.out}{2 секунды}{256 mb}

Дан полный взвешенный двудольный граф с равным количеством вершин в долях.
Требуется выбрать $k$ максимальных попарно не пересекающихся паросочетаний так,
чтобы их суммарный вес был минимален.

\InputFile

Первая строка входного файла содержит $n$ и $k$ --- количество вершин в каждой из долей и количество паросочетаний ($2 \le n \le 50$, $1 \le k \le n$).
Каждая из последующих $n$ строк содержит по $n$ чисел: $C_{ij}$ --- вес ребра, ведущего из $i$-й вершины
левой доли в $j$-ю правой. 

Все значения во входном файле неотрицательны и не превосходят $10^6$. 
 
\OutputFile

В первую строку выходного файла выведите одно число --- искомый суммарный
вес паросочетаний.
Следующие $k$ строк должны содержать $n$ чисел --- номера вершины, правой доли, соответствующие вершинам левой.

\Examples

\begin{example}
\exmp{
3 2
1 2 1
1 1 2
2 1 1
}{
6
1 2 3
3 1 2
}%
\end{example}

\end{problem}
