E. Walk the Runway
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Тур состоит из $$$m$$$ идентичных подиумных шоу в разных городах. Всего есть $$$n$$$ моделей, которые хотят участвовать в туре, пронумерованных от $$$1$$$ до $$$n$$$. У людей в разных городах разные взгляды на индустрию моды, поэтому они оценивают моделей по-разному. В частности, люди в городе $$$i$$$ оценивают модель $$$j$$$ рейтингом $$$r_{i, j}$$$.

Из желающих моделей вы выберете $$$k$$$ моделей и некоторый их порядок, пусть эти модели в этом порядке имеют номера $$$j_1, j_2, \dots, j_k$$$. В каждом городе на подиум выйдут эти $$$k$$$ моделей в данном порядке. Чтобы сделать шоу захватывающим, в каждом городе рейтинги моделей должны строго возрастать в порядке их выхода на подиум. Более формально, для любого города $$$i$$$ и индекса $$$t$$$ ($$$2 \leq t \leq k$$$), рейтинги должны удовлетворять условию $$$r_{i,j_{t - 1}} < r_{i,j_t}$$$.

В конце концов, индустрия моды сфокусирована на деньгах, поэтому выбрав модель $$$j$$$ для участия в туре, вы получите $$$p_j$$$ прибыли. Вычислите, какую максимальную прибыль вы можете получить при правильном выборе моделей и порядка их выступления, при условии соблюдения всех ограничений.

Входные данные

Первая строка содержит два целых числа $$$m$$$ и $$$n$$$ ($$$1 \leq m \leq 500$$$, $$$1 \leq n \leq 5000$$$) — число шоу и число моделей, желающих участвовать, соответственно.

Вторая строка содержит $$$n$$$ целых чисел $$$p_j$$$ ($$$1 \leq p_j \leq 10^9$$$) — прибыль от приглашения $$$j$$$-й модели в тур.

В каждой из следующих $$$m$$$ строк содержится $$$n$$$ целых чисел. Строка под номером $$$i$$$ содержит $$$n$$$ целых чисел $$$r_{i, j}$$$ ($$$1 \leq r_{i, j} \leq n$$$) — рейтинги моделей в городе $$$i$$$.

Выходные данные

Выведите одно целое число — максимальную суммарную прибыль.

Примеры
Входные данные
3 5
10 10 10 10 10
1 2 3 4 5
1 5 2 3 4
2 3 4 5 1
Выходные данные
30
Входные данные
3 5
10 10 10 10 50
1 2 3 4 5
1 5 2 3 4
2 3 4 5 1
Выходные данные
50
Входные данные
1 1
1000000000
1
Выходные данные
1000000000
Входные данные
5 5
1000000000 1000000000 1000000000 1000000000 1000000000
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
Выходные данные
5000000000
Входные данные
1 3
1 2 3
3 3 3
Выходные данные
3
Примечание

В первом примере в тур приглашены $$$3$$$ модели. Шоу состоит из моделей в следующем порядке $$$[1, 3, 4]$$$.

Соответственные рейтинги в городах:

  • Город $$$1$$$ — $$$[ 1, 3, 4 ]$$$.
  • Город $$$2$$$ — $$$[ 1, 2, 3 ]$$$.
  • Город $$$3$$$ — $$$[ 2, 4, 5 ]$$$.

Видно, что рейтинги моделей в каждом городе возрастают. Суммарная прибыль равна $$$10 + 10 + 10 = 30$$$. Можно доказать, что невозможно достичь большей прибыли.

Во втором примере мы можем пригласить в тур пятую модель, откуда получаем общую прибыль $$$50$$$. Можно доказать, что невозможно достичь большей прибыли.

В третьем примере мы приглашаем в тур единственную модель, откуда получаем прибыль $$$1\,000\,000\,000$$$.

В четвертом примере мы можем пригласить всех моделей и шоу будет состоять из моделей в следующем порядке $$$[ 5, 4, 3, 2, 1 ]$$$. Тогда общая прибыль будет равна $$$5 \cdot 1\,000\,000\,000 = 5\,000\,000\,000$$$.