저상 버스 문

NYPC 2018 · 본선

요즈음은 노인, 장애인, 어린이들과 같은 교통 약자들이 쉽게 이용할 수 있도록 계단이 없이 바닥이 낮은 저상 버스가 널리 보급되어 있다. 사람들이 내리는데 쓰는 저상버스의 뒷문은, 휠체어를 탄 사람이 안전하고 쉽게 내릴 수 있도록 문이 미끄러지는 식으로 열리고 닫히도록 만들어져 있다.

위 그림은 저상 버스의 문이 열리고 닫히는 모양을 설명하고 있다. 두 개의 문은 길이가 LL인 굵은 선으로 표현되어 있으며, (a)는 문이 열린 모습이다. 이 문은 미끄러지듯이 (b)를 거쳐서 (c)의 모양으로 닫히게 된다. 문의 두께는 고려하지 않는다.

문이 열리는 방식이 보통 문과 다르기 때문에, 문에 서 있는 위치에 따라서 움직이는 문에 부딪힐 수도 있고, 부딪히지 않을 수도 있다. 안전을 위해서는 문에 부딪히지 않는 곳에 서 있는 것이 좋다.

예를 들어, 위와 같이 문을 움직인다고 할 때 아래 그림의 (d), (e)의 경우는 점으로 표현된 사람이 문에 부딪히는 경우이며, (f)의 경우는 문에 부딪히지 않아 안전한 경우이다.

사람의 위치가 주어졌을 때, 이 사람이 문에 부딪힐 지, 부딪히지 않을 지 알려주는 프로그램을 작성하시오.

입력 형식

첫째 줄에 문의 길이를 나타내는 실수 LL이 주어진다. (1L1001 \le L \le 100)

다음 줄에는 사람이 서 있는 위치의 좌표를 나타내는 두 실수 xx, yy가 주어진다. (0x2L0 \le x \le 2L, 0yL0 \le y \le L) 원점은 그림 (a)에서 왼쪽 문의 가장 아래 끝점으로 간주하고, 수평 방향으로 xx만큼, 수직 방향으로 yy만큼 떨어진 위치에 사람이 서 있다. 이 사람이 서있으면서 차지하는 면적은 무시할 수 있다. 즉, 사람을 이 위치의 점 하나로 간주할 수 있다.

부딪히는지 여부를 판정할 때 주의할 점은, 만약 사람이 움직이는 문에 부딪히지 않는다면 최소한 10810^{-8} 이상 거리를 두고 떨어져 있도록 입력이 주어진다. 즉, 10810^{-8} 이내의 실수 오차로 SAFEDANGER가 바뀌는 경우가 없도록 입력이 주어진다. 이를 위해서, 여러분이 사용하는 프로그래밍 언어에서 6464비트 실수형을 사용하자. 예를 들어, C/C++ 언어를 사용한다면, float 대신 double을 사용한다.

출력 형식

출력은 한 줄로 구성된다. 만약 사람이 움직이는 문에 부딪힌다면 첫 줄에 DANGER를 출력한다. 만약 그렇지 않다면, SAFE를 출력한다.

예제

입력

10.234234 0.123123 0.321321

출력

DANGER

채점 방식

이 문제는 별도의 부분 문제가 없으며, 00점 혹은 100100점을 받는 문제이다.

해설