당구

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

금요일 저녁, 바이타자르와 친구들이 당구를 치러 클럽에 갔다. 이런 모임에서 늘 그렇듯 바이타자르와 비톨 사이에 말다툼이 벌어졌다. 바이타자르는 비톨의 전략이 무의미하다고 주장했다. 비톨이 친 공은 절대로 포켓에 빠질 수 없다는 것이다. 반면 비톨은 공을 충분히 세게 치면 언젠가는 어떤 포켓엔가 빠질 거라고 맞섰다. 두 사람의 논쟁을 해결해 주자. 공이 실제로 포켓에 빠지는지, 빠진다면 어느 포켓에 빠지는지 판정하는 프로그램을 작성하라.

프로그램은 다음을 수행해야 한다.

  • 당구대의 크기, 친 공의 처음 위치, 공이 맞은 뒤 움직이는 방향을 나타내는 벡터를 입력받는다,
  • 공이 빠지는 포켓을 찾거나, 어떤 포켓에도 빠지지 않음을 판정한다,
  • 결과를 출력한다.

입력

첫 번째이자 유일한 줄에 여섯 개의 정수 sxs_x, sys_y, pxp_x, pyp_y, wxw_x, wyw_y가 공백 하나로 구분되어 주어진다.

  • sxs_x, sys_y: 당구대의 크기, 1sx,sy1061 \le s_x, s_y \le 10^6이며 sxs_x는 짝수이다,
  • pxp_x, pyp_y: 공의 처음 위치, 0pxsx0 \le p_x \le s_x, 0pysy0 \le p_y \le s_y,
  • wxw_x, wyw_y: 공의 이동 벡터, 1000wx,wy1000-1000 \le w_x, w_y \le 1000.

당구대는 길이가 sxs_x, 너비가 sys_y이다. 포켓은 당구대의 네 모서리와, 길이가 sxs_x인 두 변의 중점에 있다. 예를 들어 크기가 (8,3)(8, 3)인 당구대에는 (0,0)(0, 0), (4,0)(4, 0), (8,0)(8, 0), (0,3)(0, 3), (4,3)(4, 3), (8,3)(8, 3)에 포켓이 있다. 공은 당구대 밖으로 나가지 않고 마찰 없이 움직이며, 쿠션에 부딪힐 때마다 입사각과 반사각이 같다는 규칙을 따른다. 공은 어떤 포켓의 위치에 정확히 도달하는 순간 그 포켓에 빠진다.

출력

공이 빠지는 포켓의 이름을 한 줄에 출력한다. 공이 어떤 포켓에도 빠지지 않으면 NIE를 출력한다. 포켓 이름은 다음과 같다.

  • GL: (0,sy)(0, s_y)에 있는 포켓
  • GP: (sx,sy)(s_x, s_y)에 있는 포켓
  • GS: (sx/2,sy)(s_x/2, s_y)에 있는 포켓
  • DL: (0,0)(0, 0)에 있는 포켓
  • DP: (sx,0)(s_x, 0)에 있는 포켓
  • DS: (sx/2,0)(s_x/2, 0)에 있는 포켓

힌트