- Time limit: 2.00 s
- Memory limit: 512 MB
In an array of integers v_1, v_2, \dots, v_n, an interval [a, b] is called lucky if none of the prefix sums v_a, v_a + v_{a + 1}, \dots, v_a + v_{a + 1} + \dots + v_b is negative. Your task is to deal with q queries of two types that either
- replace the value of v_i by x; or
- output whether the interval [a, b] is lucky.
Input
The first line of the input contains two integers n and q.
The second line of the input contains the initial n values of the array.
The following q lines describe the queries that are encoded as 1 i x for the queries of the first type and 2 a b for the queries of the second type.
Output
For each query of the second type, output "YES" if the interval is lucky and otherwise "NO".
Constraints
- 1 \le n, q \le 2 \cdot 10^5
- All values are integers between -10^9 and 10^9.
Examples
Input:
6 4 3 -2 1 5 6 1 2 1 3 2 2 3 1 3 -2 2 1 6
Output:
YES NO NO
