blobpopcorn

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

문제

NN마리의 블롭이 한 줄로 서 있다. ii번째 블롭의 키는 A_iA\_i이고, A_iA\_i의 값은 서로 다르다.

가끔씩 두 블롭은 팝콘을 먹으며 사이의 다른 블롭들을 구경한다. i,ji, j번째 (1i<jN)(1 \le i < j \le N) 블롭 두 마리가 사이의 다른 블롭들을 구경하려면 두 블롭 사이에 있는 모든 블롭이 두 블롭보다 키가 작아야 한다.

블롭들은 자신이 어떤 블롭들을 구경할 수 있는지 궁금해졌지만, 블롭의 키가 자주 바뀌기 때문에 궁금증을 풀 수 없었다.

블롭들을 위해 다음 두 질의를 해결해 주자!

  • 11 xx yy : xx번째 블롭의 키 A_xA\_xyy로 바꾼다.
  • 22 : 1i<jN1 \le i < j \le N을 만족하는 모든 쌍 (i,j)(i, j)i,ji, j번째 블롭 두 마리가 사이의 다른 블롭들을 구경할 수 있는 쌍의 개수를 출력한다.

입력

첫째 줄에 수열의 길이 NN과 질의의 개수 QQ가 공백으로 구분되어 주어진다.

둘째 줄에 수열 A_1,A_2,,A_NA\_1, A\_2, \cdots, A\_N이 공백으로 구분되어 주어진다.

셋째 줄부터 QQ개의 줄에 걸쳐 문제에서 설명한 질의가 주어진다. 22번 질의는 최소 한 개 이상 존재한다.

출력

22번 질의마다 답을 출력한다.

제한

  • 1 N,Q 1051 \le N, Q \le 10^5
  • 1xN1 \le x \le N
  • 1A_i,y 1091 \le A\_i, y \le 10^9 (1iN)(1 \le i \le N)
  • 모든 입력값은 정수이다.
  • 입력으로 주어지는 수열의 원소는 모두 다르고, 각각의 질의를 실행한 후의 수열의 원소들도 모두 서로 다르다.