문제
길이가 n인 배열 A1, A2, ..., An이 있다. 이때, 다음 쿼리를 수행하는 프로그램을 작성하시오.
1. l r: Al, Al+1, …, Ar 중 서로 다른 수의 개수를 출력한다.
2. x v: Ax에 v를 대입한다.
입력
첫째 줄에 배열의 크기 n과 쿼리의 개수 q (1 ≤ n, q ≤ 100,000)가 주어진다.
둘째 줄에는 A1, A2, ..., An이 주어진다. (1 ≤ Ai ≤ n)
다음 q개의 줄에는 쿼리가 한 줄에 하나씩 주어진다. (1 ≤ l ≤ r ≤ n, 1 ≤ x ≤ n, 1 ≤ v ≤ n)
출력
1번 쿼리가 주어질 때 마다 정답을 한 줄에 하나씩 출력한다.
예제
10 10
1 3 2 1 3 1 3 2 1 3
1 8 9
1 4 7
2 6 4
1 4 6
1 3 7
2 2 4
1 3 8
1 1 10
2 4 4
1 2 7
2
2
3
4
4
4
3