동굴
시간 제한3초메모리 제한256 MB
n개 정점으로 이루어진 트리에서 같은 크기의 연결된 부분 k개로 나눌 수 있는 모든 k를 구한다.
문제
바이트아사르가 동굴 하나를 발견했다. 이 동굴은 개의 방으로 이루어져 있으며, 통로들로 연결되어 있어 임의의 두 방 사이를 오가는 경로가 정확히 하나만 존재한다. 즉, 방과 통로는 하나의 트리를 이룬다.
바이트아사르와 친구들은 여러 그룹으로 나누어 동굴을 조사하려고 한다. 이때 다음 규칙을 지켜야 한다.
- 모든 그룹은 같은 개수의 방을 조사한다.
- 모든 방은 정확히 한 그룹에 의해 조사된다.
- 한 그룹에 배정된 방들은 서로 연결되어 있어야 한다. 즉, 어떤 그룹도 다른 그룹에 배정된 방을 거치지 않고 자신에게 배정된 모든 방 사이를 이동할 수 있어야 한다.
탐험가들을 나눌 수 있는 그룹의 개수 로 가능한 값을 모두 구하여라.
입력
첫째 줄에 방의 개수를 나타내는 정수 ()이 주어진다. 방은 번부터 번까지 번호가 매겨져 있다.
다음 개의 줄에는 각각 하나의 통로가 주어진다. 이 중 번째 줄 ()에는 정수 ()가 주어지며, 이는 번 방과 번 방을 잇는 통로가 있음을 의미한다.
출력
방들을 크기가 같은 개의 그룹으로 나눌 수 있고 각 그룹의 방들이 서로 연결되도록 만들 수 있는 모든 정수 를, 한 줄에 오름차순으로 공백 하나로 구분하여 출력한다.
힌트
