printРабочее место участника

printЗадачи

1359. Олимпиада

Ограничения: время – 2s/4s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

На олимпиадах для школьников обычно за правильное решение каждой задачи дают некоторое количество баллов. При подведении итогов одной олимпиады обнаружилось, что в условиях задач, розданных участникам, не было указано количество баллов за решение задачи. Члены жюри, патриоты своего города, решили так расставить баллы задачам, чтобы в призерах оказались все местные школьники, и ни одного приза не досталось иногородним.
Напишите программу, которая по результатам соревнований определит баллы, назначаемые задачам для получения распределения мест, требующегося жюри. Минимальная оценка для задачи – один балл, а максимальная – 200 баллов. Результат, полученный любым местным школьником, должен быть как минимум на один балл больше результата иногороднего школьника.
Во входном файле в первой строке содержится три целых числа, разделенных пробелами – количество задач `K`, количество участников `N` и количество местных участников `M` (`3\ ≤\ K\ ≤\ 8`, `1\ ≤\ M\ <\ N\ ≤\ 100`). Далее следует `N` строк, содержащих по `K` символов + (плюс) и - (минус) – результаты участников, плюс на `i`-й позиции строки означает, что участник решил `i`-ю задачу, а минус – что не решил (`1\ ≤\ i\ ≤\ K`). Первые `M` строк соответствуют результатам местных участников. Все участники решили как минимум по одной задаче.
В выходной файл вывести `K` строк, содержащих по одному целому числу. На `i`-й строке нужно вывести оценку `i`-й задачи (`1\ ≤\ i\ ≤\ K`). Если возможно несколько вариантов, то нужно вывести любой (один) из них. Если оценить задачи требуемым образом невозможно, то в файл вывести одну строку с сообщением IMPOSSIBLE.

Пример ввода

4 4 2
-++-
++--
+-++
-+-+

Пример вывода

20
40
15
10
loading