#include <bits/stdc++.h>
#define For(i,s,e) for(int i=s;i<=e;i++)
#define dFor(i,s,e) for(int i=s;i>=e;i--)
#define int long long
using namespace std;
#define ls(i) tr[i].s[0]
#define rs(i) tr[i].s[1]
#define p(i) tr[i].p
#define size(i) tr[i].size
#define cnt(i) tr[i].cnt
#define v(i) tr[i].v
const int MaxN=214514;
struct SplayTree{
struct node{
int s[2],p,v,cnt,size;
void init(int p1,int v1){
p=p1;v=v1;
cnt=size=1;
}
}tr[MaxN];
int root,idx;
void push_up(int x){
size(x)=size(ls(x))+size(rs(x))+cnt(x);
}
void rotate(int x){
int y=p(x),z=p(y);
bool k=(rs(y)==x);
tr[z].s[(rs(z)==y)]=x;
p(x)=z;
tr[y].s[k]=tr[x].s[k^1];
p(tr[x].s[k^1])=y;
tr[x].s[k^1]=y;
p(y)=x;
push_up(y),push_up(x);
}
void splay(int x,int k){
while(p(x)!=k){
int y=p(x),z=p(y);
if(z!=k)(ls(y)==x)^(ls(z)==y)?rotate(x):rotate(y);
rotate(x);
}
if(!k)root=x;
}
void find(int v){
int x=root;
while(tr[x].s[(v>v(x))] && v!=v(x))
x=tr[x].s[v>v(x)];
splay(x,0);
}
int get_(int v,bool f){
find(v);
int x=root;
if(f&&v(x)<v || !f&&v(x)>v)return x;
x=tr[x].s[f^1];
while(tr[x].s[f])x=tr[x].s[f];
return x;
}
int get_pre(int v){return v(get_(v,1));}
int get_suc(int v){return v(get_(v,0));}
bool insert(int v){
int x=root,p=0,f=0;
while(x && v(x)!=v)
p=x,x=tr[x].s[v>v(x)];
if(x)cnt(x)++,f=1;
else{
x=++idx;
if(p)tr[p].s[v>v(p)]=x;
tr[x].init(p,v);
}
splay(x,0);
return f;
}
void del(int v){
int pre=get_(v,1),suc=get_(v,0);
splay(pre,0),splay(suc,pre);
int del=ls(suc);
if(cnt(del)>1)cnt(del)--,splay(del,0);
else ls(suc)=0,splay(suc,0);
}
int get_rank(int v){
insert(v);
int res=size(ls(root));
del(v);
return res;
}
int get_val(int k){
int x=root;k++;
while(1){
int y=ls(x);
if(size(y)+cnt(x)<k){
k-=size(y)+cnt(x);
x=rs(x);
}else{
if(size(y)>=k)x=ls(x);
else break;
}
}
splay(x,0);
return v(x);
}
int st1=insert(-1<<30),st2=insert(1<<30);
}tree;
int a[MaxN],u[MaxN];
signed main(){
int n,m;
scanf("%lld%lld",&n,&m);
For(i,1,n)scanf("%lld",a+i);
For(i,1,m)scanf("%lld",u+i);
int j=0;
For(i,1,n){
tree.insert(a[i]);
while(u[j+1]==i){
int k=tree.get_val(++j);
printf("%lld\n",k);
}
}
}