#include #include using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000000000 int main(){ int N; scanf("%d",&N); vector X(N); rep(i,N){ scanf("%lld",&X[i]); } int Q; scanf("%d",&Q); vector l(Q),r(Q); vector x(Q); int sz = 550; vector q(sz,vector>()); rep(i,Q){ scanf("%d %d %lld",&l[i],&r[i],&x[i]); l[i]--; r[i]--; q[l[i]/sz].emplace_back(r[i],i); } vector ans(Q,1000000005); rep(i,sz){ if(q[i].size()==0)continue; sort(q[i].begin(),q[i].end()); int ll = 0,rr = 0; set S; rep(j,q[i].size()){ int ind = q[i][j].second; int R = q[i][j].first; int L = l[ind]; while(rr<=R){ S.insert(X[rr]); rr++; } while(L>ll){ S.erase(X[ll]); ll++; } while(L