Задачі
MaxSum (відвідати усі стовбчики ходом коня)
MaxSum (відвідати усі стовбчики ходом коня)
Є прямокутна таблиця розміром \textbf{N} рядків на \textbf{M} стовбчиків. У кожній клітинці записано ціле число. По ній потрібо пройти зверху вниз, починаючи з довільної клітинки верхнього рядка, далі рухаючись вниз ходами коня і завершити маршрут у якій-небудь клітинці нижнього рядка. Тобто, з клітинки \textbf{(i, j)} можна перейти у \textbf{(i+1, j--2)}, або в \textbf{(i+2, j--1)}, або в \textbf{(i+2, j + 1)}, або в \textbf{(i+1, j + 2)}, виключаючи варіанти, які виходять за межі дошки.
Напишіть програму, яка буде знаходити максимально можливу суму значень пройдених клітинок \textit{серед усіх допустимих шляхів ходами коня, які проходять хоча б по одному разу через кожен зі стовбчиків}.
\InputFile
У першому рядку записані \textbf{N} та \textbf{M} - кількість рядочків та кількість стовбчиків (\textbf{1} ≤ \textbf{N} ≤ \textbf{42}, \textbf{1} ≤ \textbf{M} ≤ \textbf{17}); далі у кожному з наступних \textbf{N} рядків записано рівно \textbf{M} відокремлених пропусками цілих чисел (кожне не перевищує по модулю \textbf{10^6}) - значення клітинок таблиці.
\OutputFile
Вивести або єдиное ціле число (знайдену максимальну серед сумм по маршрутам вуказаного виду), або рядок "\textbf{impossible}" (без лапок, маленькими латинськими буквами). Рядок "\textbf{impossible}" повинен виводитись лише у тому випадку, коли не існує жодного маршруту ходами коня, який проходить через усі стовбчики хоча б по одному разу.
\textbf{Примітка}: Для поля \textbf{4}×\textbf{3} є рівно чотири способи спуститись ходами коня, відвідавши кожен стовбчик:
Максимальна можлива сума \textbf{25 = 15 + 4 + 6} досягається на третьому з них.
Для поля \textbf{3}×\textbf{3} таких способів взагалі немає.
Вхідні дані #1
4 3 1 15 2 9 7 5 9 2 4 6 9 -1
Вихідні дані #1
25
Вхідні дані #2
3 3 1 15 2 9 7 5 9 2 4
Вихідні дані #2
impossible