Маленький Никифор не станет сидеть на одном месте. Долго бежать в одну
сторону ему тоже быстро надоест. Мудрая воспитательница знает, что когда
Никифор выйдет на прогулку, то он будет бегать параллельно векторам
a1, a2, …, an,
каждый раз пробегая расстояние, равное длине очередного
вектора. При этом её педагогическое влияние достаточно для того, чтобы указать
Никифору, какое из двух возможных направлений ему следует выбирать каждый раз.
Воспитательница знает, что длина каждого из векторов
a1, a2, …, an,
не превосходит L. Никифор начинает прогулку от воспитательницы, и она хочет,
чтобы к концу своей прогулки он не удалился от нее на расстояние, большее чем
sqrt(2)L. Какие направления перемещений вдоль векторов она должна указать
Никифору, чтобы ребёнок не уходил слишком далеко от её педагогического влияния?
Исходные данные
Первая строка входа содержит целое положительное число N, не превосходящее
10000. Вторая строка содержит целое неотрицательное число L, не превосходящее 100. Последующие n строк содержат координаты векторов. Координаты являются целыми
числами.
Результат
Первая строка выхода должна содержать слово “YES”
или “WRONG ANSWER”
в зависимости от того, можно или нет выбрать нужные для воспитательницы направления движения Никифора. В случае ответа “YES”
вторая строка должна содержать строку, состоящую из n символов “+”
или “-”
. На i-м месте должен стоять “+”
, если Никифор бежит вдоль вектора ai, либо “-”
, если Никифор бежит вдоль вектора −ai. Если возможных решений несколько, то достаточно вывести любое из них.
Пример
исходные данные | результат |
---|
4
5
5 0
0 5
0 0
-3 4
| YES
+-++
|
Автор задачи: Дмитрий Филимоненков
Источник задачи: VI Ural State University Collegiate Programming Contest (21.10.2001)