#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
#include<string>
#include<strstream>
#include<strstream>
#include <sstream>
#include<vector>
#include<set>
#include<map>
#include<queue>
#include<unordered_map>
using namespace std;
const int nmax=1000+10;
int main()
{
char s[10];
int t,N,x,kase=0;
while(scanf("%d",&t)!=EOF&&t){
queue<int>q,q2[nmax];
unordered_map<int,int>dic;
printf("Scenario #%d\n",++kase);
for(int i=0;i<t;++i){
scanf("%d",&N);
while(N--){scanf("%d",&x);dic[x]=i;}
}
memset(s,0,sizeof(s));
while(scanf("%s",s)!=EOF&&s[0]!='S'){
if(s[0]=='D'){
int num=q.front();
printf("%d\n",q2[num].front());q2[num].pop();
if(q2[num].empty())q.pop();
}else if(s[0]=='E'){
scanf("%d",&x);
int num=dic[x];
if(q2[num].empty())q.push(num);
q2[num].push(x);
}
memset(s,0,sizeof(s));
}
printf("\n");
}
return 0;
}