На плоскости расположено N радиомаяков. Точное положение маяков неизвестно, но известно, что их не более 10 и что их координаты — целые числа в пределах от 1 до 200. Каждый радиомаяк излучает свой уникальный сигнал, по которому его можно легко отличить от прочих.
В нескольких различных контрольных точках, координаты которых известны, были проведены измерения. В результате этих измерений стали известны расстояния от каждой из контрольных точек до некоторых источников сигнала. Расстояние между точками A и B следует считать равным max(|Ax − Bx|, |Ay − By|).
Необходимо по координатам контрольных точек и результатам измерений определить положение маяков на поле, если это возможно.
Исходные данные
В первой строке дано целое число M, количество контрольных точек. 1 ≤ M ≤ 20. Далее следуют M строк, каждая из которых содержит информацию, полученную в одной из контрольных точек, в следующем формате:
<Xi>,<Yi>:<ID1>-<R1>[,<ID2>-<R2>][,…]
где Xi, Yi — координаты контрольных точек, IDk — идентификатор k-го радиомаяка, Rk — расстояние от i-й контрольной точки до k-го маяка. Координаты контрольных точек — целые числа в пределах от 1 до 200. В каждой из контрольных точек был измерен хотя бы один сигнал. Идентификаторы маяков — целые числа в пределах от 1 до 30000.
Результат
Выходные данные должны состоять из N строк и описывать положение маяков. Если существует ровно одно положение (xk, yk) k-го маяка, удовлетворяющее результатам измерений и такое, что 1 ≤ xk, yk ≤ 200, выведите в k-й строке <IDk>:<xk>,<yk> (IDk — идентификатор k-го радиомаяка). В противном случае выведите в k-й строке <IDk>:UNKNOWN.
Строки следует выводить в порядке возрастания IDk.
Пример
исходные данные | результат |
---|
2
15,15:16-7,5-3
10,10:5-2,16-2
| 5:12,12
16:UNKNOWN
|
Замечания
Гарантируется, что измерения непротиворечивы, т.е. решение всегда существует, но может быть неоднозначным.
Источник задачи: Командный чемпионат Урала по программированию. Пермь, апрель 2001 г., английский тур.