정렬하기

아직 제출이 없습니다시간 제한2초메모리 제한1024 MB

문제

길이 NN의 수열 AA가 주어진다. AA에는 11부터 NN까지의 정수가 한 번씩 등장한다. 이 수열에서 다음과 같은 쿼리들을 QQ번 수행해보자.

  • 11 ll rr: A_l,,A_rA\_l,\cdots ,A\_r을 오름차순 정렬한다.
  • 22 ll rr: A_l,,A_rA\_l,\cdots ,A\_r을 내림차순 정렬한다.
  • 33 ll rr: A_l++A_rA\_l+\cdots +A\_r을 구한다.

또한, 모든 쿼리를 수행한 후 AA의 최종 상태를 출력해야 한다.

입력

첫 번째 줄에 NNQQ가 공백으로 구분되어 주어진다.

두 번째 줄에 NN개의 수 A_1,,A_NA\_1,\cdots ,A\_N이 공백으로 구분되어 주어진다.

이후 QQ개의 줄에 걸쳐 쿼리들의 정보 k,l,rk,l,r이 공백으로 구분되어 주어진다. k=1k=1이면 첫 번째 쿼리, k=2k=2이면 두 번째 쿼리, k=3k=3이면 세 번째 쿼리라는 뜻이다.

출력

세 번째 쿼리가 주어질 때마다 A_l++A_rA\_l+\cdots +A\_r을 구해 줄바꿈으로 구분하여 출력한다.

다음 줄에 NN개의 수를 공백으로 구분하여 출력한다. ii번째 수는 모든 쿼리를 수행한 후 A_iA\_i의 값을 출력한다.

제한

  • 2N100,0002\le N\le 100\\, 000
  • 1Q100,0001\le Q\le 100\\, 000
  • 1k31\le k\le 3
  • 1lrN1\le l\le r\le N