CSES - Salary Queries
  • Time limit: 1.00 s
  • Memory limit: 512 MB

A company has n employees with certain salaries. Your task is to keep track of the salaries and process queries.

Input

The first input line contains two integers n and q: the number of employees and queries. The employees are numbered 1,2,\ldots,n.

The next line has n integers p_1,p_2,\ldots,p_n: each employee's salary.

After this, there are q lines describing the queries. Each line has one of the following forms:

  • ! k x: change the salary of employee k to x
  • ? a b: count the number of employees whose salary is between a \ldots b

Output

Print the answer to each ? query.

Constraints

  • 1 \le n, q \le 2 \cdot 10^5
  • 1 \le p_i \le 10^9
  • 1 \le k \le n
  • 1 \le x \le 10^9
  • 1 \le a \le b \le 10^9

Example

Input:

5 3
3 7 2 2 5
? 2 3
! 3 6
? 2 3

Output:

3
2