Эстафета

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

Каждый год в честь дня города в Южно-Берляндске проводится открытая эстафета. В конкурсе участвуют команды из kk человек, в процессе эстафеты участники команды должна посетить nn контрольных пунктов.

Контрольные пункты пронумерованы от 1 до nn, место старта обозначим как пункт 0. Соревнование проходит следующим образом: первый участник из команды стартует из пункта 0, пробегает по некоторым a_1a\_1 ранее не посещенным контрольным пунктам, возвращается в пункт 0 и передает эстафету второму участнику. После этого второй участник пробегает какие-либо a_2a\_2 ранее не посещенных контрольных пунктов, возвращается и передает эстафету следующему. Эстафета продолжается, пока последний участник не посетит a_ka\_k ранее не посещенных контрольных пунктов и не вернется на старт. Передача эстафеты происходит мгновенно. Цель команды --- пробежать эстафету как можно быстрее.

Учащиеся Южно-Берляндского бегового училища решили заранее подготовиться к состязанию. Они раздобыли план соревнования, из которого они узнали числа a_ia\_i, а также выяснили про каждую пару пунктов, за какое время можно успеть добежать от одного до другого. Все участники команды перемещаются с одинаковой скоростью, поэтому это время не зависит от того, кто побежит между этими пунктами.

Помогите участникам составить маршрут, в котором команда пробежит эстафету как можно быстрее.

입력

В первой строке находятся два целых числа nn и kk (1n181 \le n \le 18, 1kn1 \le k \le n) --- число контрольных пунктов и число участников в команде.

Во второй строке находятся kk целых чисел a_ia\_i (1a_in1 \le a\_i \le n, a_1+a_2++a_k=na\_1 + a\_2 + \ldots + a\_k = n) --- число контрольных пунктов, которые должен пробежать ii-й участник.

В следующих n+1n+1 строках находится по n+1n+1 целому числу b_i,jb\_{i,j} (1b_i,j1061 \le b\_{i, j} \le 10^6, b_i,j=b_j,ib\_{i,j}=b\_{j,i}, b_i,i=0b\_{i,i}=0) --- время, за которое можно добежать от ii-го пункта до jj-го для ii и jj от 0 до nn.

출력

В единственной строке выведите одно целое число --- минимальное время, за которое команда может пробежать эстафету.