// Parcijalno rjesenje - 3. podzadatak (4 boda)

/*
    Za rjesenje treceg podzadatka, bilo je dovoljno primjetiti kako se pomjera pozicija trazenog elementa.
    Kako su upiti poredani u rastucem redoslijedu, dosta je samo pomjeriti unijetu poziciju za redni broj upita.
*/

#include <iostream>
#include <vector>

using namespace std;

const int mxn = 2e5 + 5;
int N, Q;
vector<int> g(mxn);
vector<int> ans;

int main() {
    cin >> N >> Q;
    for (int i = 1; i <= N; i++) {
        cin >> g[i];
    }

    for (int q = 0; q < Q; q++) {
        int p;
        cin >> p;

        int actualPos = p + q;
        ans.push_back(g[actualPos]);
    }

    // Ispis rezultata
    for (auto& x: ans) {
        cout << x << " ";
    }

    return 0;
}
