#include <bits/stdc++.h>
using namespace std;
struct Node
{
long long data,group;
Node* next;
};
Node *head,*p,*q,*tail;
long long n,m,a[100001],t,input,flag=0,flag2=0;
string ch;
int main()
{
cin>>n>>m;
for (int i=0;i<n;i++)
cin>>a[i];
cin>>t;
while (t--)
{
cin>>ch;
if (ch=="push")
{
flag2=0;
cin>>input;
if (flag==0)
{
head=new Node;
tail=head;
head->data=input;
head->next=tail;
head->group=a[input];
tail->next=head;
flag=1;
}
else
{
for (p=head;;p=p->next)
{
if (p->group==a[input]&&p->next->group!=a[input])
{
q=new Node;
q->data=input;
q->next=head;
q->group=a[input];
q->next=p->next;
p->next=q;
flag2=1;
break;
}
if (p==tail)
break;
}
if (flag2==0)
{
q=new Node;
q->data=input;
q->next=head;
q->group=a[input];
tail->next=q;
tail=q;
}
}
}
if (ch=="pop")
{
cout<<head->data<<endl;
head=head->next;
tail->next=head;
}
}
return 0;
}