Компания СунгСам, известный в мире производитель кондитерских и макаронных изделий, решила наладить поставку и производство св

Сеть компании Ас me

Компания Acme — известный в мире производитель кондитерских и макаронных изделий — решила наладить поставку и производство своей продукции в Сибири. Было решено, что сеть компании в Сибири будет включать небольшие заводы по производству продукции, региональные оптовые, а также мелкооптовые склады и точки розничной торговли. Продукция будет поступать с заводов (предприятия нулевого уровня) на оптовые склады (предприятия первого уровня), затем на мелкооптовые склады разных уровней (предприятия второго, третьего, четвертого уровня и т.д. до уровня N  – 1 включительно, по очереди) и, наконец, в точки розничной торговли, которые далее будем называть потребителями.

Потребительская цепочка — это последовательность предприятий с i ( i = 0, 1, ... N – 1), где с i — номер предприятия i -го уровня в цепочке. Затраты компании Acme на поддержание такой сети будут состоять из затрат на открытие необходимых предприятий и затрат на транспортировку продукции от предприятий к потребителям по потребительским цепочкам. Стоимость обслуживания одного потребителя — это суммарная стоимость транспортировки продукции по звеньям цепочки, то есть затраты компании на поддержание такой сети равны сумме стоимостей обслуживания всех потребителей и стоимостей открытия всех предприятий, задействованных в цепочках.

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

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

Входные данные (файл input . txt )

Все числа во входном файле разделены пробелами. В первой строке входного файла даны два положительных целых числа N и a N ( N £ 10, a N   £ 100), где N — количество уровней, a N — число потребителей. Во второй строке задано N положительных целых чисел a i ( a i   £  100, i  = 0 ..  N   – 1), где a i — количество предприятий уровня i . Предприятия уровня i занумерованы числами от 1 до a i включительно.

В последующих N строках заданы стоимости открытия предприятий — неотрицательные целые числа, не превосходящие 10000. Здесь в строке с номером j ( =   3   ..   N  + 2) заданы a j 3 числа, равные стоимостям открытия предприятий уровня j  – 3.

Далее во входном файле задано N блоков информации о транспортных расходах по очереди. Блок с номером j ( j = 1 ..  N ) содержит информацию о расходах на транспортировку продукции от предприятий уровня j  – 1 до предприятий уровня j (до потребителей в случае j  =  N ). Блок с номером j состоит из a j –1 строк, в каждой из которых заданы a j неотрицательных целых числа, не превосходящих 10000. Внутри блока n -е число m -й строки равно стоимости транспортировки продукции от m -го предприятия уровня j  – 1 до n -го предприятия уровня j (до n -го потребителя в случае j = N ).

Выходные данные (файл output . txt )

Выходной файл должен состоять из a N строк. В i -той строке ( i = 1 .. a N ) должны быть записаны через пробел N номеров предприятий с уровня 0 по уровень N – 1 включительно, составляющих потребительскую цепочку потребителя i . Данный выбор потребительских цепочек должен обеспечивать как можно меньшие суммарные затраты компании на поддержку торговой сети.

Примеры

Входной файл: input . txt

Выходной файл: output . txt

2 2

2 2

10 10

10 10

100   200

200   100

100   300

300 100

1 1

2 2

2 2

2 2

300 300

10 10

100   200

200   100

100   300

300 100

1 1

1 2

2 2

2 2

300 300

300 300

100   200

200   100

100   300

300 100

1 1

1 1