Лазертаг
Середовище Laser Tag обладнане численними вертикальними, прямокутними, двосторонніми дзеркалами, які піднімаються високо над головою. Ці дзеркала можуть відбивати ваш лазерний промінь, дозволяючи вам різними способами стріляти у суперників. На жаль, вони також можуть відбити ваш лазерний промінь так, що він випадково влучить у вас. Ваше завдання — обчислити кути, які призводять до того, що ви стріляєте в себе (щоб ви могли їх уникнути).
Дзеркала не є ідеально відбивними, тому нам потрібно турбуватися лише про постріли з не більше ніж 7 відбитками. Нижче наведено кілька можливих налаштувань. На рисунках види показані зверху. Дзеркала показані як чорні сегменти. Усі шляхи, що ведуть назад до точки стрільби, показані сірим. Візьміть точку стрільби як центр декартової системи координат, з позитивною віссю x праворуч і позитивною віссю y вгору по сторінці. Показані координати початку та кінців дзеркал. Для простоти припустимо, що дзеркала мають незначну товщину. Кожен шлях позначений початковим кутом стрільби, виміряним у градусах проти годинникової стрілки від позитивної осі x і округленим до найближчого градуса, від 0 до 359.
Вхідні дані
Вхід містить один або більше наборів даних. Кожен набір даних починається з рядка, що містить кількість дзеркал, n, 1 ≤ n ≤ 7. Наступні n рядків кожен містить (x, y) координати кінців одного дзеркала, тому є послідовність з 4 чисел для кожного дзеркала, x_1 y_1 x_2 y_2. Усі координати є цілими числами з величиною менше 1000. Жодні дзеркала не перетинаються і не торкаються. Жодне дзеркало не проходить через початок координат.
Після останнього набору даних йде рядок, що містить лише 0.
Вихідні дані
Для кожного набору даних виведіть один рядок. Якщо є один або більше шляхів назад до початку з не більше ніж 7 відбитками, зберіть початкові кути, округлені до найближчого градуса. Усі округлені кути, a, повинні бути нормалізовані так, щоб 0 ≤ a ≤ 359. Усуньте будь-які дублікати і виведіть цілі числа у зростаючому порядку в одному рядку, використовуючи один пробіл як роздільник. Якщо такого шляху назад немає, виведіть "немає небезпеки". Жоден шлях не влучить точно в край дзеркала. Жоден рядок виводу не буде мати більше 79 символів. Зверніть увагу, що хоча вивід округлений до найближчого кута, ваші внутрішні обчислення повинні базуватися на обчисленнях з подвійною точністю з плаваючою комою.
Перші два приклади наборів даних відповідають рисункам, а третій просто опускає нижнє дзеркало з другого набору даних.