import java.io.*;
import java.util.*;
class MKTHNUM{
static int n;
static int [][]a;
static int [][]st;
InputReader in
= new InputReader
(System.
in); OutputWriter out
= new OutputWriter
(System.
out); n = in.readInt();
int m = in.readInt();
int []tmp = new int[n];
a = new int[n][2];
for(int i=0;i<n;i++){
a[i][0] = in.readInt();
tmp[i] = a[i][0];
a[i][1] = i;
}
mergeSort(0,n-1);
st = new int[263005][];
constructST(0,n-1,0);
while(m-- > 0){
int l = in.readInt()-1;
int r = in.readInt()-1;
int k = in.readInt();
out.printLine(tmp[query(0,n-1,l,r,0,k)]);
out.flush();
}
out.close();
}
static void constructST(int s, int e,int i){
if(e < s){
return ;
}
if(e == s){
st[i] = new int[1];
st[i][0] = a[e][1];
return ;
}
int mid = s + (e-s)/2;
constructST(s,mid,2*i+1);
constructST(mid+1,e,2*i+2);
mergeST(i);
}
static int query(int s,int e,int qs,int qe,int i,int k){
if(s == e){
return st[i][0];
}
int upperBound = binarySearch(0,st[2*i+1].length,st[2*i+1],qe);
int lowerBound = binarySearch(0,st[2*i+1].length,st[2*i+1],qs-1);
int mid = s + (e-s)/2;
if(upperBound - lowerBound >= k){
return query(s,mid,qs,qe,2*i+1,k);
}else{
return query(mid+1,e,qs,qe,2*i+2,(k - (upperBound-lowerBound)));
}
}
static int binarySearch(int s,int e,int []arr,int val){
if(s < e){
int mid = s + (e-s)/2;
if(val >= arr[mid]){
return binarySearch(mid+1,e,arr,val);
}else{
return binarySearch(s,mid,arr,val);
}
}
return s;
}
static void mergeSort(int s,int e){
if(s < e){
int mid = s + (e-s)/2;
mergeSort(s,mid);
mergeSort(mid+1,e);
merge(s,mid,e);
}
}
static void merge(int s,int mid,int e){
int l1 = mid - s + 1;
int l2 = e - mid;
int [][]l = new int[l1][2];
int [][]r = new int[l2][2];
for(int i=0;i<l1;i++){
l[i][0] = a[s+i][0];
l[i][1] = a[s+i][1];
}
for(int i=0;i<l2;i++){
r[i][0] = a[mid+i+1][0];
r[i][1] = a[mid+i+1][1];
}
int i = 0;
int j = 0;
int k = s;
while(i<l1 && j<l2){
if(l[i][0] <= r[j][0]){
a[k][0] = l[i][0];
a[k++][1] = l[i++][1];
}else{
a[k][0] = r[j][0];
a[k++][1] = r[j++][1];
}
}
while(i<l1){
a[k][0] = l[i][0];
a[k++][1] = l[i++][1];
}
while(j<l2){
a[k][0] = r[j][0];
a[k++][1] = r[j++][1];
}
}
static void mergeST(int i){
int left = 2*i+1;
int right = 2*i+2;
int l1 = st[left].length;
int l2 = st[right].length;
st[i] = new int[l1+l2];
int a = 0;
int b = 0;
int c = 0;
while(a<l1 && b<l2){
if(st[left][a] <= st[right][b]){
st[i][c++] = st[left][a++];
}else{
st[i][c++] = st[right][b++];
}
}
while(a<l1){
st[i][c++] = st[left][a++];
}
while(b<l2){
st[i][c++] = st[right][b++];
}
}
//For Fast I/O
private static class InputReader{
private byte[] buf = new byte[1024];
private int curChar;
private int numChars;
private SpaceCharFilter filter;
this.stream = stream;
}
public int read(){
if (numChars == -1)
throw new InputMismatchException();
if (curChar >= numChars){
curChar = 0;
try{
numChars = stream.read(buf);
throw new InputMismatchException();
}
if (numChars <= 0)
return -1;
}
return buf[curChar++];
}
public int readInt(){
int c = read();
while (isSpaceChar(c))
c = read();
int sgn = 1;
if (c == '-'){
sgn = -1;
c = read();
}
int res = 0;
do{
if (c < '0' || c > '9')
throw new InputMismatchException();
res *= 10;
res += c - '0';
c = read();
} while (!isSpaceChar(c));
return res * sgn;
}
int c = read();
while (isSpaceChar(c))
c = read();
StringBuilder res = new StringBuilder();
do{
res.appendCodePoint(c);
c = read();
} while (!isSpaceChar(c));
return res.toString();
}
public boolean isSpaceChar(int c){
if (filter != null)
return filter.isSpaceChar(c);
return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
}
return readString();
}
public interface SpaceCharFilter{
public boolean isSpaceChar(int ch);
}
}
private static class OutputWriter{
}
public OutputWriter
(Writer writer
){ }
public void print
(Object...
objects){ for (int i = 0; i < objects.length; i++){
if (i != 0)
writer.print(' ');
writer.print(objects[i]);
}
}
public void printLine
(Object...
objects) { print(objects);
writer.println();
}
public void close(){
writer.close();
}
public void flush(){
writer.flush();
}
}
}
aW1wb3J0IGphdmEuaW8uKjsKaW1wb3J0IGphdmEudXRpbC4qOwpjbGFzcyBNS1RITlVNewoJc3RhdGljIGludCBuOwoJc3RhdGljIGludCBbXVtdYTsKCXN0YXRpYyBpbnQgW11bXXN0OwoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nIFtdYXJnKSB0aHJvd3MgSU9FeGNlcHRpb257CgkJSW5wdXRSZWFkZXIgaW4gPSBuZXcgSW5wdXRSZWFkZXIoU3lzdGVtLmluKTsKICAgICAgICBPdXRwdXRXcml0ZXIgb3V0ID0gbmV3IE91dHB1dFdyaXRlcihTeXN0ZW0ub3V0KTsKCQluID0gaW4ucmVhZEludCgpOwoJCWludCBtID0gaW4ucmVhZEludCgpOwoJCWludCBbXXRtcCA9IG5ldyBpbnRbbl07CgkJYSA9IG5ldyBpbnRbbl1bMl07CgkJZm9yKGludCBpPTA7aTxuO2krKyl7CgkJCWFbaV1bMF0gPSBpbi5yZWFkSW50KCk7CgkJCXRtcFtpXSA9IGFbaV1bMF07CgkJCWFbaV1bMV0gPSBpOwoJCX0KCQltZXJnZVNvcnQoMCxuLTEpOwoJCXN0ID0gbmV3IGludFsyNjMwMDVdW107CgkJY29uc3RydWN0U1QoMCxuLTEsMCk7CgkJd2hpbGUobS0tID4gMCl7CgkJCWludCBsID0gaW4ucmVhZEludCgpLTE7IAoJCQlpbnQgciA9IGluLnJlYWRJbnQoKS0xOwoJCQlpbnQgayA9IGluLnJlYWRJbnQoKTsKCQkJb3V0LnByaW50TGluZSh0bXBbcXVlcnkoMCxuLTEsbCxyLDAsayldKTsKCQkJb3V0LmZsdXNoKCk7CgkJfQoJCW91dC5jbG9zZSgpOwoJfQoKCXN0YXRpYyB2b2lkIGNvbnN0cnVjdFNUKGludCBzLCBpbnQgZSxpbnQgaSl7CgkJaWYoZSA8IHMpewoJCQlyZXR1cm4gOwoJCX0KCQlpZihlID09IHMpewoJCQlzdFtpXSA9IG5ldyBpbnRbMV07CgkJCXN0W2ldWzBdID0gYVtlXVsxXTsKCQkJcmV0dXJuIDsKCQl9CgkJaW50IG1pZCA9IHMgKyAoZS1zKS8yOwoJCWNvbnN0cnVjdFNUKHMsbWlkLDIqaSsxKTsKCQljb25zdHJ1Y3RTVChtaWQrMSxlLDIqaSsyKTsKCQltZXJnZVNUKGkpOwoJfQoKCXN0YXRpYyBpbnQgcXVlcnkoaW50IHMsaW50IGUsaW50IHFzLGludCBxZSxpbnQgaSxpbnQgayl7CgkJaWYocyA9PSBlKXsKCQkJcmV0dXJuIHN0W2ldWzBdOwoJCX0KCQlpbnQgdXBwZXJCb3VuZCA9IGJpbmFyeVNlYXJjaCgwLHN0WzIqaSsxXS5sZW5ndGgsc3RbMippKzFdLHFlKTsKCQlpbnQgbG93ZXJCb3VuZCA9IGJpbmFyeVNlYXJjaCgwLHN0WzIqaSsxXS5sZW5ndGgsc3RbMippKzFdLHFzLTEpOwoJCWludCBtaWQgPSBzICsgKGUtcykvMjsKCQlpZih1cHBlckJvdW5kIC0gbG93ZXJCb3VuZCA+PSBrKXsKCQkJcmV0dXJuIHF1ZXJ5KHMsbWlkLHFzLHFlLDIqaSsxLGspOwoJCX1lbHNlewoJCQlyZXR1cm4gcXVlcnkobWlkKzEsZSxxcyxxZSwyKmkrMiwoayAtICh1cHBlckJvdW5kLWxvd2VyQm91bmQpKSk7CgkJfQoJfQoKCXN0YXRpYyBpbnQgYmluYXJ5U2VhcmNoKGludCBzLGludCBlLGludCBbXWFycixpbnQgdmFsKXsKCQlpZihzIDwgZSl7CgkJCWludCBtaWQgPSBzICsgKGUtcykvMjsKCQkJaWYodmFsID49IGFyclttaWRdKXsKCQkJCXJldHVybiBiaW5hcnlTZWFyY2gobWlkKzEsZSxhcnIsdmFsKTsKCQkJfWVsc2V7CgkJCQlyZXR1cm4gYmluYXJ5U2VhcmNoKHMsbWlkLGFycix2YWwpOwoJCQl9CgkJfQoJCXJldHVybiBzOwoJfQoKCXN0YXRpYyB2b2lkIG1lcmdlU29ydChpbnQgcyxpbnQgZSl7CgkJaWYocyA8IGUpewoJCQlpbnQgbWlkID0gcyArIChlLXMpLzI7CgkJCW1lcmdlU29ydChzLG1pZCk7CgkJCW1lcmdlU29ydChtaWQrMSxlKTsKCQkJbWVyZ2UocyxtaWQsZSk7CgkJfQoJfQoKCXN0YXRpYyB2b2lkIG1lcmdlKGludCBzLGludCBtaWQsaW50IGUpewoJCWludCBsMSA9IG1pZCAtIHMgKyAxOwoJCWludCBsMiA9IGUgLSBtaWQ7CgkJaW50IFtdW11sID0gbmV3IGludFtsMV1bMl07CgkJaW50IFtdW11yID0gbmV3IGludFtsMl1bMl07CgkJZm9yKGludCBpPTA7aTxsMTtpKyspewoJCQlsW2ldWzBdID0gYVtzK2ldWzBdOwoJCQlsW2ldWzFdID0gYVtzK2ldWzFdOwoJCX0KCQlmb3IoaW50IGk9MDtpPGwyO2krKyl7CgkJCXJbaV1bMF0gPSBhW21pZCtpKzFdWzBdOwoJCQlyW2ldWzFdID0gYVttaWQraSsxXVsxXTsKCQl9CgkJaW50IGkgPSAwOwoJCWludCBqID0gMDsKCQlpbnQgayA9IHM7CgkJd2hpbGUoaTxsMSAmJiBqPGwyKXsKCQkJaWYobFtpXVswXSA8PSByW2pdWzBdKXsKCQkJCWFba11bMF0gPSBsW2ldWzBdOwoJCQkJYVtrKytdWzFdID0gbFtpKytdWzFdOwoJCQl9ZWxzZXsKCQkJCWFba11bMF0gPSByW2pdWzBdOwoJCQkJYVtrKytdWzFdID0gcltqKytdWzFdOwoJCQl9CgkJfQoJCXdoaWxlKGk8bDEpewoJCQlhW2tdWzBdID0gbFtpXVswXTsKCQkJYVtrKytdWzFdID0gbFtpKytdWzFdOwoJCX0KCQl3aGlsZShqPGwyKXsKCQkJYVtrXVswXSA9IHJbal1bMF07CgkJCWFbaysrXVsxXSA9IHJbaisrXVsxXTsKCQl9Cgl9CgoJc3RhdGljIHZvaWQgbWVyZ2VTVChpbnQgaSl7CgkJaW50IGxlZnQgPSAyKmkrMTsKCQlpbnQgcmlnaHQgPSAyKmkrMjsKCQlpbnQgbDEgPSBzdFtsZWZ0XS5sZW5ndGg7CgkJaW50IGwyID0gc3RbcmlnaHRdLmxlbmd0aDsKCQlzdFtpXSA9IG5ldyBpbnRbbDErbDJdOwoJCWludCBhID0gMDsKCQlpbnQgYiA9IDA7CgkJaW50IGMgPSAwOwoJCXdoaWxlKGE8bDEgJiYgYjxsMil7CgkJCWlmKHN0W2xlZnRdW2FdIDw9IHN0W3JpZ2h0XVtiXSl7CgkJCQlzdFtpXVtjKytdID0gc3RbbGVmdF1bYSsrXTsKCQkJfWVsc2V7CgkJCQlzdFtpXVtjKytdID0gc3RbcmlnaHRdW2IrK107CgkJCX0KCQl9CgkJd2hpbGUoYTxsMSl7CgkJCXN0W2ldW2MrK10gPSBzdFtsZWZ0XVthKytdOwoJCX0KCQl3aGlsZShiPGwyKXsKCQkJc3RbaV1bYysrXSA9IHN0W3JpZ2h0XVtiKytdOwoJCX0KCX0KCgoKCS8vRm9yIEZhc3QgSS9PCglwcml2YXRlIHN0YXRpYyBjbGFzcyBJbnB1dFJlYWRlcnsKICAgICAgICBwcml2YXRlIElucHV0U3RyZWFtIHN0cmVhbTsKICAgICAgICBwcml2YXRlIGJ5dGVbXSBidWYgPSBuZXcgYnl0ZVsxMDI0XTsKICAgICAgICBwcml2YXRlIGludCBjdXJDaGFyOwogICAgICAgIHByaXZhdGUgaW50IG51bUNoYXJzOwogICAgICAgIHByaXZhdGUgU3BhY2VDaGFyRmlsdGVyIGZpbHRlcjsKIAogICAgICAgIHB1YmxpYyBJbnB1dFJlYWRlcihJbnB1dFN0cmVhbSBzdHJlYW0pewogICAgICAgICAgICB0aGlzLnN0cmVhbSA9IHN0cmVhbTsKICAgICAgICB9CiAKICAgICAgICBwdWJsaWMgaW50IHJlYWQoKXsKICAgICAgICAgICAgaWYgKG51bUNoYXJzID09IC0xKQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IElucHV0TWlzbWF0Y2hFeGNlcHRpb24oKTsKICAgICAgICAgICAgaWYgKGN1ckNoYXIgPj0gbnVtQ2hhcnMpewogICAgICAgICAgICAgICAgY3VyQ2hhciA9IDA7CiAgICAgICAgICAgICAgICB0cnl7CiAgICAgICAgICAgICAgICAgICAgbnVtQ2hhcnMgPSBzdHJlYW0ucmVhZChidWYpOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoSU9FeGNlcHRpb24gZSl7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IElucHV0TWlzbWF0Y2hFeGNlcHRpb24oKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChudW1DaGFycyA8PSAwKQogICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gYnVmW2N1ckNoYXIrK107CiAgICAgICAgfQogCiAgICAgICAgcHVibGljIGludCByZWFkSW50KCl7CiAgICAgICAgICAgIGludCBjID0gcmVhZCgpOwogICAgICAgICAgICB3aGlsZSAoaXNTcGFjZUNoYXIoYykpCiAgICAgICAgICAgICAgICBjID0gcmVhZCgpOwogICAgICAgICAgICBpbnQgc2duID0gMTsKICAgICAgICAgICAgaWYgKGMgPT0gJy0nKXsKICAgICAgICAgICAgICAgIHNnbiA9IC0xOwogICAgICAgICAgICAgICAgYyA9IHJlYWQoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpbnQgcmVzID0gMDsKICAgICAgICAgICAgZG97CiAgICAgICAgICAgICAgICBpZiAoYyA8ICcwJyB8fCBjID4gJzknKQogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnB1dE1pc21hdGNoRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICByZXMgKj0gMTA7CiAgICAgICAgICAgICAgICByZXMgKz0gYyAtICcwJzsKICAgICAgICAgICAgICAgIGMgPSByZWFkKCk7CiAgICAgICAgICAgIH0gd2hpbGUgKCFpc1NwYWNlQ2hhcihjKSk7CiAgICAgICAgICAgIHJldHVybiByZXMgKiBzZ247CiAgICAgICAgfQogCiAgICAgICAgcHVibGljIFN0cmluZyByZWFkU3RyaW5nKCl7CiAgICAgICAgICAgIGludCBjID0gcmVhZCgpOwogICAgICAgICAgICB3aGlsZSAoaXNTcGFjZUNoYXIoYykpCiAgICAgICAgICAgICAgICBjID0gcmVhZCgpOwogICAgICAgICAgICBTdHJpbmdCdWlsZGVyIHJlcyA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7CiAgICAgICAgICAgIGRvewogICAgICAgICAgICAgICAgcmVzLmFwcGVuZENvZGVQb2ludChjKTsKICAgICAgICAgICAgICAgIGMgPSByZWFkKCk7CiAgICAgICAgICAgIH0gd2hpbGUgKCFpc1NwYWNlQ2hhcihjKSk7CiAgICAgICAgICAgIHJldHVybiByZXMudG9TdHJpbmcoKTsKICAgICAgICB9CiAKICAgICAgICBwdWJsaWMgYm9vbGVhbiBpc1NwYWNlQ2hhcihpbnQgYyl7CiAgICAgICAgICAgIGlmIChmaWx0ZXIgIT0gbnVsbCkKICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXIuaXNTcGFjZUNoYXIoYyk7CiAgICAgICAgICAgIHJldHVybiBjID09ICcgJyB8fCBjID09ICdcbicgfHwgYyA9PSAnXHInIHx8IGMgPT0gJ1x0JyB8fCBjID09IC0xOwogICAgICAgIH0KIAogICAgICAgIHB1YmxpYyBTdHJpbmcgbmV4dCgpewogICAgICAgICAgICByZXR1cm4gcmVhZFN0cmluZygpOwogICAgICAgIH0KIAogICAgICAgIHB1YmxpYyBpbnRlcmZhY2UgU3BhY2VDaGFyRmlsdGVyewogICAgICAgICAgICBwdWJsaWMgYm9vbGVhbiBpc1NwYWNlQ2hhcihpbnQgY2gpOwogICAgICAgIH0KICAgIH0KIAogICAgcHJpdmF0ZSBzdGF0aWMgY2xhc3MgT3V0cHV0V3JpdGVyewogICAgICAgIHByaXZhdGUgZmluYWwgUHJpbnRXcml0ZXIgd3JpdGVyOwogCiAgICAgICAgcHVibGljIE91dHB1dFdyaXRlcihPdXRwdXRTdHJlYW0gb3V0cHV0U3RyZWFtKXsKICAgICAgICAgICAgd3JpdGVyID0gbmV3IFByaW50V3JpdGVyKG5ldyBCdWZmZXJlZFdyaXRlcihuZXcgT3V0cHV0U3RyZWFtV3JpdGVyKG91dHB1dFN0cmVhbSkpKTsKICAgICAgICB9CiAKICAgICAgICBwdWJsaWMgT3V0cHV0V3JpdGVyKFdyaXRlciB3cml0ZXIpewogICAgICAgICAgICB0aGlzLndyaXRlciA9IG5ldyBQcmludFdyaXRlcih3cml0ZXIpOwogICAgICAgIH0KIAogICAgICAgIHB1YmxpYyB2b2lkIHByaW50KE9iamVjdC4uLiBvYmplY3RzKXsKICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBvYmplY3RzLmxlbmd0aDsgaSsrKXsKICAgICAgICAgICAgICAgIGlmIChpICE9IDApCiAgICAgICAgICAgICAgICAgICAgd3JpdGVyLnByaW50KCcgJyk7CiAgICAgICAgICAgICAgICB3cml0ZXIucHJpbnQob2JqZWN0c1tpXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAKICAgICAgICBwdWJsaWMgdm9pZCBwcmludExpbmUoT2JqZWN0Li4uIG9iamVjdHMpIHsKICAgICAgICAgICAgcHJpbnQob2JqZWN0cyk7CiAgICAgICAgICAgIHdyaXRlci5wcmludGxuKCk7CiAgICAgICAgfQogCiAgICAgICAgcHVibGljIHZvaWQgY2xvc2UoKXsKICAgICAgICAgICAgd3JpdGVyLmNsb3NlKCk7CiAgICAgICAgfQogCiAgICAgICAgcHVibGljIHZvaWQgZmx1c2goKXsKICAgICAgICAgICAgd3JpdGVyLmZsdXNoKCk7CiAgICAgICAgfQogICAgfQp9