기하학적 균형
시간 제한3초메모리 제한2048 MB
거북이에게 주어진 명령을 같은 순서로 다시 실행할 때 같은 잉크 그림이 나오게 하는 가장 작은 양의 회전 각도 b를 구합니다.
문제
Peter의 남동생 Ivan은 거북이 장난감을 가지고 노는 것을 좋아합니다. 이 장난감은 평면 위에 있으며 다음 세 가지 명령을 실행할 수 있습니다.
- 반시계 방향으로 도 회전한다.
- 바라보는 방향으로 단위만큼 잉크를 뿌리면서 이동하여 선을 그린다. 평면의 어떤 선분도 잉크로 두 번 이상 덮이지 않는다.
- 바라보는 방향으로 단위만큼 그리지 않고 이동한다.
Ivan은 나침반을 막 배웠기 때문에, 거북이를 동서남북과 대각선 방향 8개 중 하나를 향하도록 회전시키기만 합니다(rotate 명령의 각도 는 항상 45의 배수입니다). 또한 그리기 명령을 최소 한 번은 실행합니다.
Peter는 Ivan이 거북이에게 내린 모든 명령을 기록했습니다. 그는 거북이가 그린 그림이 사랑스럽다고 생각합니다. 이제 Peter는 다음 작업을 수행할 수 있는 가장 작은 양의 각도 가 궁금합니다. 거북이를 원하는 점으로 옮기고, 도 회전시킨 뒤, 같은 순서로 모든 명령을 실행합니다. 이 작업으로 원래와 같은 그림이 나와야 합니다. Peter를 도와줄 수 있을까요?
참고로, 두 그림은 잉크로 덮인 점들의 집합이 같을 때 같은 그림으로 봅니다.
입력
입력의 첫 줄에는 정수 ()이 주어집니다. 은 Ivan이 내린 명령의 개수입니다.
이어지는 개의 줄에는 다음 중 하나인 명령이 주어집니다.
rotate(). 는 45의 배수입니다.draw().move().
draw 명령은 최소 1개, 최대 2000개입니다. 평면의 어떤 선분도 잉크로 두 번 이상 덮이지 않는다는 것이 보장됩니다.
출력
질문에 대한 답을 하나의 수로 출력합니다. 답은 항상 존재합니다.