#include <iostream>
#include <queue>
#include <string>
using namespace std;
int n, m, x, T, a[10005] = {0};
string s;
queue<int> dl1;
queue<int> dl[10005];
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> x;
a[i] = x;
dl[x].push(i);
}
cin >> T;
for (int i = 1; i <= T; i++) {
cin >> s;
if (s == "push") {
cin >> x;
if (dl[a[x]].empty()) {
dl1.push(x);
}
dl[a[x]].push(x);
} else if (s == "pop") {
if (!dl[0].empty()) {
cout << dl[0].front() << endl;
dl[0].pop();
dl[a[dl[0].front()]].pop();
}
}
}
return 0;
}