#include
<iostream>
#include <cstdio>
#include <map>
#include <queue>
using namespace std ;
const int maxt = 1000+10 ;
int main ()
{
int t ,kase = 1 ;
while ( scanf ( "%d" ,&t )!=EOF &&t )
{
printf ( "Scenario #%d \n " ,kase ++);
map<int ,int> team ;
for ( int i = 0 ;i <t ;i ++)
{
int n ,x ;
scanf ( "%d" ,&n );
while (n --)
{
scanf ( "%d" ,&x );
team [x ]=i ;
}
}
queue < int >q ,q2 [maxt ];
while ( 1 )
{
int x ;
char cmd [ 10 ];
scanf ( "%s" ,cmd );
if (cmd [ 0 ]== 'S' )
break ;
else if (cmd [ 0 ]== 'D' )
{
int t =q . front ();
printf ( "%d \n " ,q2 [t ]. front ());
q2 [t ]. pop ();
if (q2 [t ]. empty ()) q . pop ();
}
else if (cmd [ 0 ]== 'E' )
{
scanf ( "%d" ,&x );
int t =team [x ];
if (q2 [t ]. empty ())
q . push (t );
q2 [t ]. push (x );
}
}
printf ( " \n " );
}
return 0 ;
#include <cstdio>
#include <map>
#include <queue>
using namespace std ;
const int maxt = 1000+10 ;
int main ()
{
int t ,kase = 1 ;
while ( scanf ( "%d" ,&t )!=EOF &&t )
{
printf ( "Scenario #%d \n " ,kase ++);
map<int ,int> team ;
for ( int i = 0 ;i <t ;i ++)
{
int n ,x ;
scanf ( "%d" ,&n );
while (n --)
{
scanf ( "%d" ,&x );
team [x ]=i ;
}
}
queue < int >q ,q2 [maxt ];
while ( 1 )
{
int x ;
char cmd [ 10 ];
scanf ( "%s" ,cmd );
if (cmd [ 0 ]== 'S' )
break ;
else if (cmd [ 0 ]== 'D' )
{
int t =q . front ();
printf ( "%d \n " ,q2 [t ]. front ());
q2 [t ]. pop ();
if (q2 [t ]. empty ()) q . pop ();
}
else if (cmd [ 0 ]== 'E' )
{
scanf ( "%d" ,&x );
int t =team [x ];
if (q2 [t ]. empty ())
q . push (t );
q2 [t ]. push (x );
}
}
printf ( " \n " );
}
return 0 ;