만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

기하학적 균형

시간 제한3초메모리 제한2048 MB

요약
거북이에게 주어진 명령을 같은 순서로 다시 실행할 때 같은 잉크 그림이 나오게 하는 가장 작은 양의 회전 각도 b를 구합니다.
난이도

보통10점 중 6점

유형
문자열 매칭, 수학, 시뮬레이션
정답자
아직 제출이 없습니다

문제

Peter의 남동생 Ivan은 거북이 장난감을 가지고 노는 것을 좋아합니다. 이 장난감은 평면 위에 있으며 다음 세 가지 명령을 실행할 수 있습니다.

  • 반시계 방향으로 aa도 회전한다.
  • 바라보는 방향으로 dd 단위만큼 잉크를 뿌리면서 이동하여 선을 그린다. 평면의 어떤 선분도 잉크로 두 번 이상 덮이지 않는다.
  • 바라보는 방향으로 dd 단위만큼 그리지 않고 이동한다.

Ivan은 나침반을 막 배웠기 때문에, 거북이를 동서남북과 대각선 방향 8개 중 하나를 향하도록 회전시키기만 합니다(rotate 명령의 각도 aa는 항상 45의 배수입니다). 또한 그리기 명령을 최소 한 번은 실행합니다.

Peter는 Ivan이 거북이에게 내린 모든 명령을 기록했습니다. 그는 거북이가 그린 그림이 사랑스럽다고 생각합니다. 이제 Peter는 다음 작업을 수행할 수 있는 가장 작은 양의 각도 bb가 궁금합니다. 거북이를 원하는 점으로 옮기고, bb도 회전시킨 뒤, 같은 순서로 모든 명령을 실행합니다. 이 작업으로 원래와 같은 그림이 나와야 합니다. Peter를 도와줄 수 있을까요?

참고로, 두 그림은 잉크로 덮인 점들의 집합이 같을 때 같은 그림으로 봅니다.

입력

입력의 첫 줄에는 정수 nn (1≤n≤500001 \le n \le 50000)이 주어집니다. nn은 Ivan이 내린 명령의 개수입니다.

이어지는 nn개의 줄에는 다음 중 하나인 명령이 주어집니다.

  • rotate aa (45≤a≤36045 \le a \le 360). aa는 45의 배수입니다.
  • draw dd (1≤d≤1091 \le d \le 10^9).
  • move dd (1≤d≤1091 \le d \le 10^9).

draw 명령은 최소 1개, 최대 2000개입니다. 평면의 어떤 선분도 잉크로 두 번 이상 덮이지 않는다는 것이 보장됩니다.

출력

질문에 대한 답을 하나의 수로 출력합니다. 답은 항상 존재합니다.

예제3

  1. 예제 1

    입력
    1
    draw 10
    
    예상 출력
    180
    
  2. 예제 2

    입력
    7
    draw 1
    rotate 90
    draw 1
    rotate 90
    draw 1
    rotate 90
    draw 1
    
    예상 출력
    90
    
  3. 예제 3

    입력
    3
    draw 1
    move 1
    draw 2
    
    예상 출력
    360