Задача A. Домашние задания

Автор:Рекомендации   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:64 Мб
Выходной файл:output.txt  
Максимальный балл:100  

Условие

Петя очень не любит делать домашние задания. Поэтому он просит отличников из своего класса сделать их за него. За это он даёт им шоколадные конфеты. Так как Петин папа работает на шоколадной фабрике, то у Пети всегда много конфет.

Но отличники — капризные ребята. В разные дни они просят разное количество конфет за выполнение домашнего задания. Про каждого отличника в классе Петя знает, сколько конфет придётся ему дать в i-й день учёбы, чтобы тот сделал за него домашнее задание. Кроме того, каждый день делать домашние задания за Петю не согласится ни один отличник, и поэтому про каждого отличника Петя выяснил, какое максимальное количество домашних заданий тот согласится сделать за него подряд.

Требуется написать программу, которая по информации о количестве конфет, которое отличники просят за свои услуги, а также о максимальном количестве дней подряд, которое каждый отличник готов делать домашние задания за Петю, определяет, какое минимальное количество конфет требуется Пете, чтобы все домашние задания были за него сделаны.

Формат входного файла

Первая строка входного файла содержит два числа: n — количество учебных дней, m — количество отличников в классе у Пети.

Вторая строка входного файла содержит m целых чисел ai (1 ≤ i ≤ m), задающих для каждого отличника максимальное количество заданий подряд, которое он согласен выполнять за Петю (1 ≤ ai ≤ n).

Следующие m строк содержат по n неотрицательных целых чисел, при этом j-е число i-й строки (ci, j) означает количество конфет, которое Пете придётся отдать i-му отличнику, чтобы он сделал за Петю домашнее задание в j-й день.

Формат выходного файла

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

Ограничения

1 ≤ n ≤ 100, 2 ≤ m ≤ 100, 0 ≤ ci, j ≤ 106

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

Входной файл (input.txt) Выходной файл (output.txt)
1
5 2
2 2
1 3 6 4 1
5 2 3 1 1
9
1 1 2 2 1

0.084s 0.014s 13