#include #include #include #define N 110 #define f cin #define g cout using namespace std; int op,desc[N],pozs[N],i,poz[N],x,y,t,n,m,q[N][N]; string s[N][2],s1; mapcare; int main() { f>>n>>m; for(i=1;i<=m;++i) { f>>s[i][0]; care[s[i][0]]=i; f>>s[i][1]; care[s[i][1]]=i; } f>>t; memset(poz,-1,sizeof(poz)); for(;t;--t) { f>>op; if(op==1) { f>>x; desc[x]=!desc[x]; if(!desc[x]) { for(i=pozs[x];i<=q[x][0];++i) poz[q[x][i]]=-1; q[x][0]=0; } else { pozs[x]=1; } } else if(op==2) { f>>x>>s1; y=care[s1]; q[x][++q[x][0]]=y; poz[y]=x; } else if(op==3) { f>>x; poz[q[x][pozs[x]]]=-1; ++pozs[x]; } else if(op==4) { f>>x; if(pozs[x]>q[x][0]) { g<<-1<<'\n'; continue; } for(i=q[x][0];i>pozs[x];--i) { g<>s1; g<