만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

식당 메뉴

면접 대비

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

요약
도착과 식사 기록을 순서대로 처리하는 큐 시뮬레이션으로, 선호 메뉴를 먹은 학생, 다른 메뉴를 먹은 학생, 식사하지 못한 학생을 각각 구합니다.
난이도

쉬움10점 중 3점

유형
큐, 시뮬레이션
정답자
아직 제출이 없습니다

문제

여러 명의 학생이 식사를 하려고 학교 식당을 향해 달려가고 있다. 식당에 도착한 학생은 입구에 줄을 서서 기다린다. 먼저 도착한 학생이 나중에 도착한 학생보다 줄의 앞쪽에 선다. 식사는 1인분씩 준비된다. 식사 1인분이 준비되면 줄 맨 앞의 학생 1명이 식당에 들어가 식사를 시작한다. 식사를 시작한 학생은 항상 식사를 마친다.

학교 식당에서는 메뉴 두 가지를 제공하며, 각 학생은 두 메뉴 중 좋아하는 메뉴를 이미 정해 두었다. nn개의 식당 정보가 저장된 SS가 주어진다. SS의 첫 번째 정보부터 nn번째 정보까지 순서대로 처리했을 때, 좋아하는 메뉴를 먹은 학생 목록 AA, 좋아하지 않는 메뉴를 먹은 학생 목록 BB, 식당에 도착했지만 식사를 하지 못한 학생 목록 CC를 출력하라.

SS에 저장된 정보는 다음 두 유형 중 하나이다.

  • 유형 1: 1 a b. 학생 번호가 양의 정수 aa이고 좋아하는 메뉴 번호가 양의 정수 bb인 학생 1명이 식당에 도착하여 줄 맨 뒤에 선다.
  • 유형 2: 2 b. 메뉴 번호가 양의 정수 bb인 식사 1인분이 준비된다. 줄 맨 앞의 학생 1명이 식사를 시작한다.

식사 1인분이 준비될 때는 줄에 기다리는 학생이 항상 있다. 줄에서 기다리기만 하고 식사가 준비되지 않은 학생은 식사를 하지 못한다.

입력

첫 번째 줄에 nn이 주어진다.

두 번째 줄부터 nn개의 줄에 걸쳐 한 줄에 정보가 하나씩 주어진다. 각 정보는 유형 1 또는 유형 2이다.

출력

첫 번째 줄에 목록 AA의 학생 번호를 오름차순으로 빈칸을 사이에 두고 출력한다.

두 번째 줄에 목록 BB의 학생 번호를 오름차순으로 빈칸을 사이에 두고 출력한다.

세 번째 줄에 목록 CC의 학생 번호를 오름차순으로 빈칸을 사이에 두고 출력한다.

목록에 학생이 없으면 학생 번호 대신 None을 출력한다.

제한

  • 1≤n≤500,0001 \le n \le 500{,}000
  • SS에는 유형 1과 유형 2만 저장되어 있다.
  • 1≤a≤n1 \le a \le n이며, 모든 양의 정수 aa의 값은 서로 다르다.
  • bb는 1 또는 2이다.

예제1

  1. 예제 1

    입력
    6
    1 2 1
    1 1 1
    2 1
    1 3 2
    2 2
    2 2
    
    예상 출력
    2 3
    1
    None