#include <cstdio>
#include<cstring>
using namespace std;
short e[101],q[101][101],fin[101],f[101];
int main()
{

    char s[101][42],name[21],*p,*l2;
    short n,m,t,w,r,u,l1,i,j;
    scanf("%hd%hd",&n,&m);
    for(i=1;i<=m;++i)
    {
        scanf("%s",&s[i]);
        strcat(s[i]," ");
        scanf("%s",&name);
        strcat(s[i],name);
    }
    scanf("%hd",&t);
    for(i=0;i<t;++i)
    {
        scanf("%hd",&w);
        if(w==1)
        {
            scanf("%hd",&j);
            if(e[j]==0) {
                e[j]=1;
                f[j]=0;
            }
            else
            {
                e[j]=0;
                fin[j]=0;
            }
        }
        else if(w==2)
        {
            scanf("%hd",&j);
            r=0;
            scanf("%s",&name);
            u=1;
            while(r==0)
            {
                if(strstr(s[u],name)!=NULL)
                {
                    p=strstr(s[u],name);
                    l2=p+strlen(name);

                        l1=l2-s[u];
                        if((s[u][l1]==NULL)||(s[u][l2-s[u]]==' '))
                                            r=1;

                }
                else ++u;
            }
            ++fin[j];
            q[j][fin[j]]=u;
        }
        else if(w==3)
        {
            scanf("%hd",&j);
            ++f[j];
        }
        else if(w==4)
        {
            scanf("%hd",&j);
            if(fin[j]!=0)
            {
            ++f[j];
            for(r=fin[j];r>f[j];--r)
            printf("%s ",s[q[j][r]]);
            --f[j];
            printf("%s\n",s[q[j][r]]);
            }
            else printf("-1\n");
        }
        else
        {
            scanf("%s",&name);
            r=0;
            u=1;
            while((r==0)&&(u<=n))
            {

                for(w=f[u]+1;w<=fin[j]&&r==0;++w)
                if(strstr(s[q[u][w]],name)!=NULL)
                {
                    p=strstr(s[q[u][w]],name);
                    l2=p+strlen(name);


                        l1=l2-s[u];
                        if((s[q[u][w]][l1]==NULL)||(s[q[u][w]][l2-s[q[u][w]]]==' '))
                                            r=1;

                }
                ++u;
            }
            --u;
            if(r!=0) printf("%hd\n",u);
            else printf("-1\n");
        }

    }
    return 0;
}