#include <bits/stdc++.h>
using namespace std;
int IN() {
  int c, x;
  while (!isdigit(c = getchar()))
    ;
  x = c - '0';
  while (isdigit(c = getchar())) x = (x << 1) + (x << 3) + c - '0';
  return x;
}
const int N = 5e5 + 19, Sc = 800;
typedef int one[N];
pair<long long, int> P[N];
pair<long long, int> p;
long long A[N], D[Sc];
int b[N], L[Sc], R[Sc];
int n, Q, S, t, Ql, Qr, x, Min, Max;
int main() {
  memset(L, 60, sizeof(L));
  n = IN(), Q = IN(), S = sqrt(n) + 1;
  for (int i = 1; i < n + 1; i++)
    t = b[i] = (i - 1) / S + 1, L[t] = min(L[t], i), R[t] = max(R[t], i);
  for (int i = 1; i < n + 1; i++) A[i] = IN(), P[i] = make_pair(A[i], i);
  for (int i = 1; i < t + 1; i++) sort(P + L[i], P + R[i] + 1);
  while (Q--)
    if (IN() == 1) {
      Ql = IN(), Qr = IN(), x = IN();
      if (b[Ql] == b[Qr]) {
        for (int i = Ql; i < Qr + 1; i++) A[i] += x;
        for (int i = L[b[Ql]]; i <= R[b[Ql]]; i++) P[i] = make_pair(A[i], i);
        sort(P + L[b[Ql]], P + R[b[Ql]] + 1);
        ;
      } else {
        for (int i = Ql; i <= R[b[Ql]]; i++) A[i] += x;
        for (int i = L[b[Qr]]; i <= Qr; i++) A[i] += x;
        for (int i = L[b[Ql]]; i <= R[b[Ql]]; i++) P[i] = make_pair(A[i], i);
        sort(P + L[b[Ql]], P + R[b[Ql]] + 1);
        ;
        for (int i = L[b[Qr]]; i <= R[b[Qr]]; i++) P[i] = make_pair(A[i], i);
        sort(P + L[b[Qr]], P + R[b[Qr]] + 1);
        ;
        for (int i = b[Ql] + 1; i < b[Qr]; i++) D[i] += x;
      }
    } else {
      x = IN(), Min = n + 1, Max = 0;
      for (int i = 1; i <= t; i++)
        if (p = P[lower_bound(P + L[i], P + R[i] + 1, make_pair(x - D[i], 0)) -
                  P],
            p.first == x - D[i]) {
          Min = p.second;
          break;
        }
      for (int i = t; i >= 1; i--)
        if (p = P[upper_bound(P + L[i], P + R[i] + 1,
                              make_pair(x - D[i] + 1, 0)) -
                  P - 1],
            p.first == x - D[i]) {
          Max = p.second;
          break;
        }
      printf("%d\n", Min <= Max ? Max - Min : -1);
    }
}
