시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
민혁이는 매주 금요일마다 지수와 함께 논다. 이번 주 금요일은 두 사람이 친구가 된 지 십 년이 되는 날이다. 그래서 둘은 특별한 게임을 하기로 했다. 민혁이는 흙바닥 운동장을 예약했고, 지수는 조약돌 하나를 가져왔다.
먼저 민혁이는 운동장 바닥에 나뭇가지로 방향 그래프를 그린다. 각 정점에는 나가는 간선이 최대 하나만 있다. 그다음 민혁이는 조약돌을 한 정점 위에 올려놓는다. 조약돌이 있는 정점에 나가는 간선이 있으면 조약돌은 그 간선을 따라 이동하고, 도착한 정점에서도 같은 과정을 반복한다. 나가는 간선이 없는 정점에 도착하면 조약돌은 그 정점에서 멈춘다. 어떤 경우에는 조약돌이 영원히 움직일 수도 있고, 어떤 정점은 한 번도 방문하지 않을 수도 있다.
민혁이는 지수가 규칙을 제대로 이해했는지 확인하기 위해 다음 두 종류의 질문을 한다.
1 X: 조약돌을 정점 X에 놓았을 때, 조약돌이 영원히 움직이지 않는다면 멈추는 정점 번호를 묻는다.2 X: 정점 X에서 나가는 간선을 삭제한다. 이 질문에는 항상 현재 나가는 간선이 있는 정점만 주어진다.민혁이의 질문이 주어졌을 때, 지수가 해야 할 답을 출력하는 프로그램을 작성하시오.
첫째 줄에 그래프의 정점 수 N이 주어진다. (1 <= N <= 300000)
둘째 줄에는 1번 정점부터 N번 정점까지 각 정점의 나가는 간선 도착점이 공백으로 구분되어 주어진다. 정점 번호는 1부터 시작하며, 나가는 간선이 없는 경우에는 0이 주어진다.
셋째 줄에 질문의 수 Q가 주어진다. (1 <= Q <= 300000)
다음 Q개 줄에는 문제 설명에 나온 형식대로 질문이 하나씩 주어진다.
1 X 질문이 주어질 때마다 답을 한 줄에 하나씩 출력한다. 조약돌이 나가는 간선이 없는 정점에서 멈춘다면 그 정점 번호를 출력한다. 조약돌이 어떤 정점에도 멈추지 않고 영원히 움직인다면 CIKLUS를 출력한다.