#include<bits/stdc++.h>
#define INF 1000005
using namespace std;
int a[INF],b[INF],in;
priority_queue< int , vector<int> , greater<int> > q1;
priority_queue< int > q2;
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=0;i<m;i++){
cin>>b[i];
}
for(int i=1;i<=n;i++){
q2.push(a[i]);
while(b[in]==i){
in++;
while(q2.size()>in){
q1.push(q2.top());
q2.pop();
}
while(q2.size()<in){
q2.push(q1.top());
q1.pop();
}
cout<<q2.top()<<endl;
}
}
return 0;
}