원숭이 춤

면접 대비

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

요약
각 원숭이가 한 걸음마다 나가는 화살표를 따라 순열을 이루며 이동할 때, 모든 원숭이가 제자리로 돌아오는 걸음 수인 순환 길이들의 최소공배수를 구한다.
난이도

보통10점 중 4점

유형
그래프, 수학, 시뮬레이션, 정수론
정답자
아직 제출이 없습니다

문제

힌드 서커스의 단장은 새로운 공연인 원숭이 춤을 무대에 올리기로 했다. 원숭이 춤은 NN마리의 원숭이가 동시에 추는 춤이다. 땅에는 11번부터 NN번까지 번호가 매겨진 원이 NN개 그려져 있고, 처음에 각 원숭이는 서로 다른 원 위에 한 마리씩 앉는다. 원들 사이에는 화살표가 NN개 그려져 있는데, 각 원에서 나가는 화살표가 정확히 하나, 각 원으로 들어오는 화살표가 정확히 하나가 되도록 그려져 있다.

공연이 시작되면 단장이 호루라기를 불 때마다 모든 원숭이가 동시에, 자신이 있는 원에서 나가는 화살표를 따라 다른 원으로 뛴다. 이것이 춤의 한 단계이다. 모든 원숭이가 처음 앉았던 원으로 다시 돌아오면 춤이 끝난다. 이 춤은 몇 단계 동안 계속되는가?

입력

입력은 여러 개의 테스트 케이스로 이루어질 수 있다. 각 테스트 케이스는 원의 개수 NN (1≤N≤100)(1 \le N \le 100)이 적힌 줄로 시작하고, 이어지는 NN개의 줄에는 각각 11 이상 NN 이하의 정수 쌍이 주어진다. 정수 쌍 I1I_1, I2I_2는 원 I1I_1에서 원 I2I_2로 향하는 화살표가 있음을 뜻한다. NN의 값으로 00이 주어지면 입력이 끝난다.

출력

각 테스트 케이스마다 춤이 계속되는 단계 수를 한 줄에 하나씩 출력한다.

예제6

  1. 예제 1

    입력
    5
    1 2
    2 3
    3 1
    4 5
    5 4
    4
    1 4
    2 3
    4 1
    3 2
    0
    
    예상 출력
    6
    2
    
  2. 예제 2

    입력
    1
    1 1
    0
    
    예상 출력
    1
    
  3. 예제 3

    입력
    4
    1 1
    2 2
    3 3
    4 4
    0
    
    예상 출력
    1
    
  4. 예제 4

    입력
    5
    1 2
    2 3
    3 4
    4 5
    5 1
    0
    
    예상 출력
    5
    
  5. 예제 5

    입력
    6
    1 2
    2 3
    3 1
    4 5
    5 6
    6 4
    6
    1 2
    2 1
    3 4
    4 5
    5 6
    6 3
    0
    
    예상 출력
    3
    4
    
  6. 예제 6

    입력
    10
    1 2
    2 3
    3 4
    4 1
    5 6
    6 7
    7 8
    8 9
    9 10
    10 5
    0
    
    예상 출력
    12