Problem F. GukiZ and GukiZiana

时间限制 10000 ms   内存限制 256 MB

Professor GukiZ was playing with arrays again and accidentally discovered new function, which he called GukiZiana. For given array a, indexed with integers from 1 to n, and number y, GukiZiana(a, y) represents maximum value of j - i, such that aj = ai = y. If there is no y as an element in a, then GukiZiana(a, y) is equal to  - 1. GukiZ also prepared a problem for you. This time, you have two types of queries:

  1. First type has form 1lrx and asks you to increase values of all ai such that l ≤ i ≤ r by the non-negative integer x.
  2. Second type has form 2y and asks you to find value of GukiZiana(a, y).

For each query of type 2, print the answer and make GukiZ happy!

输入数据

The first line contains two integers n, q (1 ≤ n ≤ 5 * 105, 1 ≤ q ≤ 5 * 104), size of array a, and the number of queries.

The second line contains n integers a1, a2, ... an (1 ≤ ai ≤ 109), forming an array a.

Each of next q lines contain either four or two numbers, as described in statement:

If line starts with 1, then the query looks like 1lrx (1 ≤ l ≤ r ≤ n, 0 ≤ x ≤ 109), first type query.

If line starts with 2, then th query looks like 2y (1 ≤ y ≤ 109), second type query.

输出数据

For each query of type 2, print the value of GukiZiana(a, y), for y value for that query.

样例

提交

请先 登录

© 2025 FAQs Contact About