C31. Свой магический квадрат

Автор:Бадерик П.М.  
Входной файл:Стандартный вход  
Выходной файл:Стандартный выход  

У нас есть квадрат 3×3, заполненный числами. А вам нужно вычислить ближайший к нему магический квадрат.

Дистанция между квадратами вычисляется, как сумма модулей разниц между соответствующими клетками квадратов.

Пусть первый квадрат - это F, второй - S, тогда дистанцией будет |F[y][x] − S[y][x]|.

А под магическим квадратом мы понимаем любой квадрат 3×3, заполненный 9 различными последовательными числами таким образом, что сумма чисел в каждой строке, каждом столбце и на обеих диагоналях была одинакова

Пример квадратов:

3 5 79 11 1315 17 19 - не является магическим квадратом, так как числа не образуют единую последовательность.

2 9 47 5 36 1 8 - удовлетворяет всем условиям. Числа можно собрать в последовательность: 1,2,...,9

Формат входных данных

На вход программе подаётся три строки, каждая из которых содержит по три числа ai.

Формат выходных данных

В первой строке вывести разницу между квадратами.

А в следующих трёх - сам получившийся магический квадрат.

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

Ограничения

 − 109 ≤ ai ≤ 109

Примеры тестов

Стандартный вход Стандартный выход
1
3 5 7
9 11 13
15 17 19
36
10 15 8
9 11 13
14 7 12
2
0 0 0
0 0 0
0 0 0
20
-3 2 1
4 0 -4
-1 -2 3

0.114s 0.011s 13