B. Что решать дальше?
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

После того, как ребята сдали свою первую задачу, встал вопрос — а какую задачу необходимо решать следующей?

Бегимай, обладавшая опытом в подобных соревнованиях, предложила посмотреть страницу с «Результатами».

На данной странице показывается, сколько задач решила каждая команда — и сколько попыток команда совершила по той или иной задаче:

  • Если команда сдала задачу, то у неё в таблице указан +, после которого идёт количество неверных попыток перед первой успешной.
  • Если команда не сдала задачу, то у неё в таблице указан -, после которого идёт количество уже сделанных неверных попыток.
  • Если команда не делала попыток по задаче, то у неё в таблице по этой задаче не указано ничего.

Бегимай объяснила, что из этой статистики можно извлечь дополнительную информацию о сложности задач:

  • Если задачу практически не сдают, кроме команд на самых верхних строчках таблицы — то, вероятнее всего, она сложнее для начинающих по сравнению с другими задачами.
  • Если разные команды делают по одной и той же задаче много неверных попыток — то, вероятнее всего, в ней есть какие-то «подводные камни» и хитрые случаи, неочевидные с первого взгляда.

Ребята решили для каждой задачи собрать небольшую статистику:

  • количество команд, которые сдали задачу;
  • количество команд, которые сделали хотя бы одну попытку по задаче;
  • суммарное количество неверных попыток, которые сделали команды по задаче.
Входные данные

В первой строке через пробел даны два целых числа $$$n$$$ и $$$p$$$ $$$(1 \le n, p \le 100)$$$ — количество команд и количество задач в таблице результатов.

$$$i$$$-я из следующих $$$n$$$ строк содержит информацию о результатах $$$i$$$-й команды — $$$p$$$ пар значений $$$R_{i, j}$$$, разделённых пробелом:

  • Если $$$i$$$-я команда не делала попыток по задаче $$$j$$$, то $$$R_{i, j}$$$ будет состоять из - и числа $$$0$$$.
  • Если $$$i$$$-я команда сделала $$$k$$$ неверных попыток по задаче $$$j$$$, но не сдала её, то $$$R_{i, j}$$$ будет состоять из - и числа $$$k$$$ $$$(1 \le k \le 100)$$$.
  • Если $$$i$$$-я команда сделала $$$k$$$ неверных попыток по задаче $$$j$$$, но после этого сдала её, то $$$R_{i, j}$$$ будет состоять из + и числа $$$k$$$ $$$(0 \le k \le 100)$$$.
Выходные данные

В $$$j$$$-й из $$$p$$$ строк выведите через пробел три целых числа $$$S_j$$$, $$$T_j$$$, $$$F_j$$$:

  • $$$S_j$$$ $$$(0 \le S_j \le n)$$$ — количество команд, сдавших задачу $$$j$$$;
  • $$$T_j$$$ $$$(S_j \le T_j \le n)$$$ — количество команд, сделавших хотя бы одну попытку по задаче $$$j$$$;
  • $$$F_j$$$ $$$(0 \le F_j \le 10^9)$$$ — суммарное количество неверных попыток по задаче $$$j$$$.
Пример
Входные данные
2 3
+ 0 + 3 - 5
+ 1 - 0 - 12
Выходные данные
2 2 1 
1 1 3 
0 2 17 
Примечание

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

В таблице результатов $$$2$$$ команды и $$$3$$$ задачи:

  • Первой команде соответствует первая строка:
    • Первая пара равна + и $$$0$$$ — первую задачу команда сдала без неверных попыток.
    • Вторая пара равна + и $$$3$$$ — вторую задачу команда сдала после $$$3$$$ неверных попыток.
    • Третья пара равна - и $$$5$$$ — команда сделала уже $$$5$$$ неверных попыток, но пока не сдала третью задачу.
  • Второй команде соответствует вторая строка:
    • Первая пара равна + и $$$1$$$ — первую задачу команда сдала после одной неверной попытки.
    • Вторая пара равна - и $$$0$$$ — команда не делала попыток по второй задаче.
    • Третья пара равна - и $$$12$$$ — команда сделала уже $$$12$$$ неверных попыток, но пока не сдала третью задачу.

Итого получается, что

  • Первую задачу сдали $$$2$$$ команды, делали по ней попытки тоже $$$2$$$ команды, суммарное количество неверных попыток $$$1$$$.
  • Вторую задачу сдала $$$1$$$ команда, делала по ней попытки тоже $$$1$$$ команда, суммарное количество неверных попыток $$$3$$$.
  • Третью задачу сдало $$$0$$$ команд, делали по ней попытки $$$2$$$ команды, суммарное количество неверных попыток $$$17$$$.