\begin{problem}{Задача о назначениях}{assignment.in}{assignment.out}{2 секунды}{256 мегабайт}{}

Дана целочисленная матрица $C$ размера $n \times n$. Требуется выбрать $n$ ячеек так, чтобы
в каждой строке и каждом столбце была выбрана ровно одна ячейка и сумма значений 
в выбранных ячейках было минимальна.

\InputFile

Первая строка входного файла содержит $n$ ($2 \le n \le 300$).
Каждая из последующих $n$ строк содержит по $n$ чисел: $C_{ij}$ 
Все значения во входном файле неотрицательны и не превосходят $10^6$. 

\OutputFile

В первую строку выходного файла выведите одно число --- искомая минимизуруемая величина.
Далее выведите $n$ строк по два числа в каждой ---
номер строки и столбца клетки, участвующей в оптимальном назначении.

Пары чисел можно выводить в произвольном порядке.

\Examples

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

\end{problem}
