N студентов одного университета приняли участие в тренировочных сборах,
проходивших в городе Екатеринозаводске. После их возвращения оказалось, что
на проезд до Екатеринозаводска и обратно, проживание, питание и оргвзнос за участие в сборах
ими было потрачено немалое количество денег из собственного кармана. Студенты пришли к декану
того факультета, на котором они учились, с требованиями оплатить прошедшую поездку.
Декан внимательно выслушал их и выдал каждому немного денег (разным студентам он мог выдать
разные денежные суммы). На следующий день двое из этих студентов пришли к декану и сказали, что они двое
в сумме получили на A1 рублей меньше, чем ими было потрачено. На второй день ситуация
повторилась — некоторая пара студентов заявила декану, что он должен им двоим в сумме
ещё A2 рублей. Ситуация повторялась ещё много дней.
Наконец, в M-й день к декану опять пришли какие-то ездившие в Екатеринозаводск студенты
и сказали, что они получили от него на AM рублей меньше, чем должны были.
После этого студентам надоело это бесполезное занятие, и больше к декану никто уже не приходил.
Тогда декан, достав записи с требованиями студентов, решил посчитать, сколько он остался должен каждому
из них за поездку. Но это оказалось не так-то просто!
Исходные данные
В первой строке записаны через пробел целые числа N и M
(2 ≤ N ≤ 1000; 1 ≤ M ≤ 105).
В следующих M строках перечислены требования пар студентов, приходивших к декану.
В (i + 1)-й строке через пробел записаны три целых числа: номера двух студентов,
пришедших к декану в i-й день, и денежная сумма Ai, которую они назвали.
Студенты занумерованы числами от 1 до N. Ai — целое число в пределах от
−10000 до 10000. Отрицательная сумма означает, что студенты получили от декана больше, чем
потратили. Известно, что никакая пара студентов не приходила к декану дважды.
Результат
Если декан может однозначно восстановить, сколько он остался должен каждому из студентов, выведите
эти суммы c двумя знаками после десятичной точки, при этом в i-й строке выведите сумму, которую нужно доплатить
i-му студенту. Числа могут быть и отрицательными — это означает, что студент остался должен декану (бывает и так!).
Если же по информации, полученной от студентов, однозначно восстановить значения этих денежных сумм невозможно,
выведите «IMPOSSIBLE».
Примеры
исходные данные | результат |
---|
3 3
1 2 2
2 3 4
3 1 6
| 2.00
0.00
4.00
|
4 3
1 2 2
1 3 4
1 4 6
| IMPOSSIBLE
|
Автор задачи: Алексей Ефремов
Источник задачи: XIV Открытое командное первенство школьников Свердловской области по программированию