solved.ac에서 정지당한 현제는 본인만의 새로운 스트릭 시스템을 만들어 MatKor에 적용하고자 한다.
우선 현제의 스트릭 시스템은 유저별로 독립적으로 동작하며 서로 영향을 주지 않는다. 어떤 유저의 스트릭을 결정하는 것은 다음과 같다.
현제는 MatKor 부원 n명을 1번 부터 n번까지 번호를 매겼고, 105개의 문제로 구성된 스트릭 시스템을 현제는 시간순으로 들어오는 m개의 쿼리를 통해 관리하고자 한다.
1 u p c: u번 유저가 p번 문제의 풀이 코드를 제출하여 정답 여부는 c이다. c가 1이면 맞았습니다!!, 0이면 오답을 의미한다.(1≤u≤N, 1≤p≤105, c∈0,1)2: 날짜가 다음 날로 바뀐다.3 i: i번째 쿼리의 제출이 재채점되어 정답 여부가 반전된다. 즉, 기존의 정답은 오답으로, 오답은 정답으로 바뀐다.(1≤i≤m, i번째 쿼리는 주어진 1번 쿼리이다.)4 k: 현재 시점에서 최장 스트릭이 k번째로 긴 유저의 최장 스트릭을 출력한다.(1≤k≤N) 이 쿼리는 적어도 하나 이상 주어진다.첫 줄에 유저의 수 n(1≤n≤105)과 쿼리의 개수 m(1≤m≤105)이 주어진다.
다음 m개의 줄에 시간순으로 다음 네 가지 중 하나의 쿼리가 한 줄에 하나씩 주어진다.
4번 쿼리에 대해서 정답을 한 줄에 하나씩 순서대로 출력한다.