시간 제한 | 메모리 제한 | 제출 | 정답 | 맞은 사람 | 정답 비율 |
---|---|---|---|---|---|

1 초 | 32 MB | 0 | 0 | 0 | 0.000% |

As we all know, every FIFA World Cup has a mascot and every mascot has The Official Mascot Song. For the current World Cup in Brazil, the mascot is Fuleco the Armadillo and he is currently working on his song. Since he is an armadillo, his music knowledge is limited and he only knows how to play an electric guitar. Also, he writes the song in a very simple way as a sequence of n integers A_{1},A_{2}, … A_{n}; the integer A_{i} denotes how hard will Fuleco strum the strings at the i-th second.

For some indices 1 ≤ i ≤ j ≤ n, the consecutive subsequence A_{i}, A_{i+1}, … A_{j} of a sequence A_{1},A_{2}, … A_{n} is called a block if the following 3 conditions hold:

- A
_{i}≤ A_{i−1}or i = 1, - A
_{j}≥ A_{j+1}or j = n, - A
_{i}< A_{i+1}< ⋯ < A_{j}.

It is not hard to see that every sequence A_{1}, A_{2}, … , A_{n} consists of disjoint blocks, i.e. every element A_{i} belongs to exactly one block. For example, the sequence A = (__3 4__ __4 5 7__ __3__ __2 3 10__) consists of 4 blocks (they are underlined). Fuleco (since he is an armadillo) thinks that the quality of the song depends on the number of blocks in it. He constantly does some corrections to the song and asks you to tell him the current number of blocks; he cannot count them himself since (you can guess) he is an armadillo.

More precisely, you are given the starting sequence A_{1},A_{2}, … , A_{n} and q queries. Each query is one of the following two types:

- 1 x y – Fuleco changes value of the x-th element of the sequence A into y, i.e. A
_{x}≔ y. - 2 z – Fuleco cyclically shifts the whole sequence A for the z positions to the left. When some element goes over the first position, it is moved to the n-th position. For example, the query “2 3” transforms the sequence (1, 2, 3, 4, 5) into (4, 5, 1, 2, 3).

After each query you must return the number of blocks in a current sequence (song). Note that the queries occur in the given order and they change the starting sequence. Sequence A is 1-indexed.

First line of input contains one integer n – the length of starting sequence (song) A. Second line contains n space separated integers A_{i} – the starting sequence. Third line contains one integer q – the number of queries. The next q lines represent the queries in the format described above.

- 2 ≤ n ≤ 200.000
- 1 ≤ A
_{i}≤ 10^{9}. - 1 ≤ q ≤ 200.000
- For each query “1 x y” it holds 1 ≤ x ≤ n, 1 ≤ y ≤ 10
^{9}. For each query “2 z” it holds 1 ≤ z ≤ n.

After each query you should write the number of blocks in a current sequence. Each number must be written in a new line and the order must be the same as the order of the queries in the input.

9 3 4 4 5 7 3 2 3 10 4 1 8 9 1 7 5 2 6 1 2 3

4 3 4 5

After 1st query, the sequence becomes (__3 4__ __4 5 7__ __3__ __2 9 10__) and has 4 blocks (underlined). After 2nd query, the sequence becomes (