#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m, l, r, x;
  scanf("%d%d", &n, &m);
  vector<int> a(n + 1, 0);
  vector<int> prevDiff(n + 1, 0);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
    if (a[i] != a[i - 1]) {
      prevDiff[i] = i - 1;
    } else {
      prevDiff[i] = prevDiff[i - 1];
    }
  }
  for (int i = 1; i <= m; i++) {
    scanf("%d%d%d", &l, &r, &x);
    if (x != a[r]) {
      printf("%d\n", r);
    } else {
      if (prevDiff[r] >= l) {
        printf("%d\n", prevDiff[r]);
      } else {
        printf("-1\n");
      }
    }
  }
}
