조교의 기묘한 시험
시간 제한3초메모리 제한1024 MB
학생들이 정수를 적고 입장하거나 퇴장하며, 이벤트마다 값이 유일한 학생에게 점수를 줍니다. 입장 순서대로 각 학생의 최종 점수를 출력합니다.
문제
한 대학교 강의의 조교를 맡고 있는 실버는 눈치 게임을 좋아합니다. 학생들이 실습에 즐겁게 참여하도록, 실버는 학생들의 실습 점수를 기묘하게 매기기로 했습니다.
각 학생은 자유롭게 실습에 들어오고 나갈 수 있습니다. 다만 한 번 실습에서 나가면 다시 들어올 수 없습니다. 실습에 들어올 때 학생은 종이에 이상 이하의 정수를 하나 적어서 들고 들어옵니다. 실습 도중 실버는 기묘한 이벤트를 엽니다. 이벤트가 열리면 현재 실습에 있는 학생들은 자신이 적은 정수를 바탕으로 다음과 같이 점수를 얻습니다.
- 자신이 적은 정수가 현재 실습에 있는 다른 사람과 겹치면 점수를 얻지 못합니다.
- 자신이 적은 정수가 현재 실습에 있는 다른 사람과 겹치지 않으면 점을 얻습니다.
- 다른 사람과 겹치지 않게 정수를 적은 사람들 중 가장 큰 수를 적은 사람은 추가로 점을 더 얻어 총 점을 얻습니다. 는 이벤트마다 다를 수 있습니다. 다른 사람과 겹치지 않게 정수를 적은 사람이 없다면 아무도 점수를 얻지 못합니다.
실버는 학생들의 실습 출입 기록과 기묘한 이벤트가 열린 기록을 총 개의 질의로 정리했습니다. 질의는 다음 세 가지 중 하나입니다.
- : 정수 를 들고 있는 학생이 실습에 들어옵니다.
- : 이전에 나간 학생을 포함해 지금까지 들어온 학생 중 번째로 들어온 학생이 실습에서 나갑니다. 번째로 들어온 학생은 현재 실습에 있습니다.
- : 기묘한 이벤트가 열립니다. 현재 실습에 있는 학생 중 자신이 적은 정수가 다른 학생과 겹치지 않는 학생들이 점을 얻습니다. 그중 가장 큰 수를 적은 학생은 추가로 점을 더 얻습니다.
모든 질의를 순서대로 처리한 뒤, 유형 의 질의 개수 에 대해 번째부터 번째로 들어온 학생이 받은 점수를 순서대로 출력하는 프로그램을 작성해봅시다.
입력
첫 번째 줄에 질의의 개수 가 주어집니다. ()
다음 개의 줄에 질의가 주어집니다. 각 질의는 , , 중 하나입니다.
- 유형 1의 질의는 1개 이상 있습니다.
- 유형 1의 질의에서 이며 는 정수입니다.
- 유형 2의 질의에서 이며 는 정수입니다. 번째로 들어온 학생은 실습에 있습니다.
- 유형 3의 질의에서 이며 는 정수입니다.
출력
유형 의 질의 개수 에 대해 개의 줄을 출력합니다.
번째 줄에는 번째로 들어온 학생이 받은 점수를 출력합니다.