**Time limit:**1.00 s**Memory limit:**512 MB

**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