길이 의 오름차순으로 정렬된 수열 이 주어진다.
당신은 이 수열에 대해 가지의 갱신 쿼리와 가지의 질의 쿼리를 처리해야 한다. 각각의 쿼리는 아래와 같다.
갱신 쿼리는 아래와 같다.
- : 인 모든 에 대해 를 수행한다.
- : 인 모든 에 대해 를 수행한다.
- : 인 모든 에 대해 를 수행한다.
- : 인 모든 에 대해 를 수행한다.
- : 구간 를 한 칸 오른쪽으로 민다. 즉, 인 모든 에 대해 , 을 동시에 수행한다.
- : 구간 를 뒤집는다. 즉, 인 모든 에 대해 을 동시에 수행한다.
질의 쿼리는 아래와 같다.
- : 의 합을 출력한다.
- : 의 최솟값을 출력한다.
- : 의 최댓값을 출력한다.
- : 중 이상인 값의 개수를 출력한다.
- : 의 값을 출력한다.
- : 에 등장하는 서로 다른 값의 개수를 출력한다.
- : 의 중앙값, 즉 오름차순으로 정렬했을 때 번째 값을 출력한다.
Input
입력은 다음과 같은 형식으로 주어진다.
Output
질의 쿼리가 주어질 때마다, 해당 쿼리의 답을 한 줄에 하나씩 출력한다.
Constraints
- 모든 쿼리에서 을 만족한다.
- , , , , 번 쿼리에서 를 만족한다.
- 출력해야 하는 모든 값의 절댓값은 이하이다.
Subtasks
Samples
입력
1 2
67
6 1 1
7 1 1
출력
67