Back to Origin

시간 제한1초메모리 제한1024 MB

요약
정수 회전각 d가 주어질 때, 시계 방향으로 d도씩 회전하며 1km씩 이동해 출발점으로 정확히 돌아오는 최소 이동 횟수를 구하고 불가능하면 -1을 출력한다.
난이도

보통10점 중 7점

유형
수학, 기하, 정수론
정답자
아직 제출이 없습니다

문제

북극에 사는 호기심 많은 펭귄 한 마리가 신기한 경험을 했다. 북극의 한 지점에서 북쪽으로 1km1\text{km}를 간 뒤, 동쪽으로 1km1\text{km}, 남쪽으로 1km1\text{km}를 이동했더니 정확히 출발점으로 돌아온 것이었다!

펭귄은 이 움직임을 무한한 2차원 평면 위에서 똑같이 재현해 보기로 했다. 북극에서처럼 한 점에서 시작해 북쪽으로 1km1\text{km}, 시계 방향으로 90∘90^\circ 돌아 1km1\text{km}, 다시 90∘90^\circ 돌아 1km1\text{km}를 이동했다. 하지만 이번에는 출발점으로 돌아오기는커녕 엉뚱한 곳에 도착하고 말았다.

펭귄은 계속해서 움직여 본 뒤에야, 평면 위에서는 네 번을 움직여 정사각형을 그려야만 출발점으로 돌아올 수 있다는 것을 깨달았다. 펭귄은 문득 궁금해졌다. ”만약 회전 각도가 90∘90^\circ가 아니라면 어떨까?”

이 펭귄이 한 번의 행동으로 1km1\text{km} 이동 후 시계 방향으로 정수 각도 d∘d^\circ만큼 회전할 수 있을 때, 출발점으로 다시 돌아오기까지 최소 몇 번의 행동이 필요한지 구해보자. 단, 이동하는 도중에 출발점을 스쳐 지나가는 경우는 돌아온 것으로 보지 않으며, 반드시 1km1\text{km} 이동을 마친 직후의 위치가 출발점과 정확히 일치해야 한다.

입력

첫째 줄에 펭귄이 시계 방향으로 회전할 각도의 크기인 정수 dd가 주어진다. (1≤d≤359)(1\le d\le 359)

출력

펭귄이 출발점으로 다시 돌아오기까지 최소 몇 번의 행동이 필요한지 출력한다. 만약 영원히 돌아올 수 없다면, -1 을 출력한다.

예제3

  1. 예제 1

    입력
    90
    
    예상 출력
    4
    
  2. 예제 2

    입력
    144
    
    예상 출력
    5
    
  3. 예제 3

    입력
    180
    
    예상 출력
    2