#include <bits/stdc++.h>
#define me(x) a[(x)]
#define fa(x) a[(x / 2)]
#define ls(x) a[(x * 2)]
#define rs(x) a[(x * 2 + 1)]
using namespace std;
int a[200010];
int v[200010], v1[200010];
int n, t, cnt = 1, idx = 0;
int siz;
void modify(int x) {
if (x == 1 || me(x) > fa(x)) return;
swap(me(x), fa(x));
modify(x / 2);
}
void push(int x) {
a[++ siz] = x;
modify(siz);
}
int main() {
cin >> n >> t;
for (int i = 1; i <= n; i ++) cin >> v[i];
for (int i = 1; i <= t; i ++) cin >> v1[i];
for (int i = 1; i <= n; i ++) {
push(v[i]);
if (i == v1[cnt]) cnt ++, idx ++, cout << a[idx] << endl;
}
}
rt