eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Коллекционирование монет

Коллекционирование монет

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

Вася решил подойти к этому вопросу основательно и хочет рассчитать оптимальную стратегию обмена монет. Он знает, что любой коллекционер с радостью обменяет любую свою монету a на любую Васину монету b, но только в одном случае: если у этого коллекционера больше одной монеты вида a, но еще нет ни одной монеты серии b. Ни на какие другие обмены коллекционеры не согласны. Сам Вася, в отличие от других, ставит глобальную оптимизацию выше локальной, и при желании может нарушать это правило.

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

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

В первой строке входного файла заданы два числа n и m (1 ≤ m, n ≤ 100). Далее следуют n строк по m чисел в каждой: j-е число i-й строки – это количество монет j-го типа у i-го коллекционера. Все эти числа неотрицательны и не больше 1000. Вася имеет номер 1.

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

В первой строке выходного файла выведите максимальное количество различных типов монет, которые можно собрать. Далее выведите любую из последовательностей обменов, приводящую к такому количеству различных типов. Каждый из обменов выводится в формате xi, ui, vi, где xi – номер коллекционера, с которым следует обменяться, ui – номер монеты, которую Вася от него получает, а vi – номер монеты, которую Вася ему отдает.

Ліміт часу 2 секунди
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
7 6
3 0 0 0 0 0 
0 2 0 0 0 0 
0 2 0 0 0 0 
0 2 0 0 0 0 
1 0 2 1 1 0
1 0 1 2 1 0
1 0 1 1 2 0
Вихідні дані #1
3
2 2 1
5 3 2
3 2 1