길이 인 정수 배열 이 주어진다.
배열의 연속한 구간에 대한 좌표 압축은 다음과 같이 정의한다. 구간에 등장하는 서로 다른 값의 개수를 이라 하자. 구간의 각 원소 를, 그 구간에 등장하는 서로 다른 값 중 보다 작은 값의 개수로 바꾼다. 따라서 압축된 값은 이상 이하이고, 구간 밖의 원소는 바뀌지 않는다.
다음 세 종류의 쿼리를 순서대로 처리하라.
1 : 구간 을 좌표 압축한다.2 : 구간 의 최솟값을 , 최댓값을 이라 하자. 구간에 실제로 존재하는 값 중 와 가장 가까운 값을 출력한다. 그러한 값이 여러 개이면 가장 작은 값을 출력한다.각 쿼리는 앞선 모든 쿼리가 적용된 배열을 대상으로 한다.
입력은 다음과 같은 형식으로 주어진다.
각 2번 쿼리마다 조건을 만족하는 값을 한 줄에 하나씩 출력한다.
첫 번째 1번 쿼리 후 배열은 가 된다. 두 번째 1번 쿼리 후에는 가 된다.
3 : 구간 의 모든 원소에 정수 를 더한다.각 쿼리는 다음 세 형식 중 하나이며 한 줄에 하나씩 주어진다.
3번 쿼리에서 .1번 쿼리는 전체 쿼리 중 최대 번이다.추가적인 제약이 없다.
첫 두 쿼리에서는 중앙값과의 거리가 같은 두 값 중 작은 값을 출력한다.