/* Student name : Glorija
Volarevic
School Name : V. gimnazija
Language Name : C++
Division Name : Junior
Contest #4 */
#include <cstdio>
#include <string>
#include <iostream>
using namespace std;
int poc, kraj, broj, sto,
k1[5];
char to;
char qust[1000], prvi[100],
drugi[100], treci[100], cetvrti[100], peti[100] ;
void pop ( int x ) {
if ( sto ) {
kraj=kraj-x;
} else {
poc=poc+x;
}
}
void push ( char to ) {
qust[kraj]=to;
kraj++;
}
void dup ( int x ) {
for ( int i = poc ; i < poc+x ; ++i ) {
push ( qust[i] ) ;
}
}
void swp ( int x ) {
if ( sto ) {
int a = kraj - x ;
for ( int i =0; i < x ; ++i ) {
int y = qust[a];
qust[a]=qust[poc+i];
qust[poc+i]=y;
a++;
}
} else {
int a = kraj - x ;
for ( int i =0; i < x ; ++i ) {
int y = qust[a];
qust[a]=qust[poc+i];
qust[poc+i]=y;
a++;
}
}
}
int main ( void ) {
for ( int z = 0 ; z< 5 ; ++z ) {
string s;
memset ( qust, 0, sizeof qust ) ;
poc=0; kraj=5; qust[0]='A'; qust[1]='B'; qust[2]='C' ;
qust[3]='D'; qust[4]='E';
cin >> s ;
if ( s=="Q" ) { sto=0; } ;
if ( s=="S" ) { sto=1; } ;
while ( s!="PRT" ) {
cin >> s ;
if ( s=="POP" ) {
scanf ( "%d", &broj ) ;
pop(broj);
}
if ( s=="PSH" ) {
scanf ( " %c", &to) ;
push(to);
}
if ( s=="DUP" ) {
scanf (
"%d", &broj ) ;
dup(broj);
}
if ( s=="SWH" ) { sto = ( sto - 1 ) * - 1
; }
if ( s=="SWP" ) {
scanf ( "%d", &broj ) ;
swp ( broj )
;
}
}
scanf ( "%d", &broj ) ;
k1[z]=0;
if ( z==0 ) {
if ( sto ) {
int y = kraj - broj;
for ( int i = y ; i < kraj; ++i ) { prvi[k1[z]]=qust[i] ; k1[z]++; }
}
else { for (int i = poc ; i < poc+broj; ++i ) { prvi[k1[z]]=qust[i] ; k1[z]++;}
}
}
if ( z==1 ) {
if ( sto ) {
int y = kraj - broj;
for ( int i = y ; i < kraj; ++i ) { drugi[k1[z]]=qust[i] ; k1[z]++; }
}
else { for (int i = poc ; i < poc+broj; ++i ) { drugi[k1[z]]=qust[i] ; k1[z]++;}
}
}
if ( z==2 ) {
if ( sto ) {
int y = kraj - broj;
for ( int i = y ; i < kraj; ++i ) { treci[k1[z]]=qust[i] ; k1[z]++; }
}
else { for (int i = poc ; i < poc+broj; ++i ) { treci[k1[z]]=qust[i] ; k1[z]++;}
}
}
if ( z==3 ) {
if ( sto ) {
int y = kraj - broj;
for ( int i = y ; i < kraj; ++i ) { cetvrti[k1[z]]=qust[i] ; k1[z]++; }
}
else { for (int i = poc ; i < poc+broj; ++i ) { cetvrti[k1[z]]=qust[i] ; k1[z]++;}
}
}
if ( z==4 ) {
if ( sto ) {
int y = kraj - broj;
for ( int i = y ; i < kraj; ++i ) { peti[k1[z]]=qust[i] ; k1[z]++; }
}
else { for (int i = poc ; i < poc+broj; ++i ) { peti[k1[z]]=qust[i] ; k1[z]++;}
}
}
}
for ( int j = 0; j < k1[0] ; ++j ) {
if ( j!=k1[0]-1 ) { printf ( "%c, ", prvi[j] )
; } else {printf ( "%c\n", prvi[j] ) ; }
}
for ( int j = 0; j < k1[1] ; ++j ) {
if ( j!=k1[1]-1 ) { printf ( "%c, ", drugi[j] )
; } else {printf ( "%c\n", drugi[j] ) ; }
}
for ( int j = 0; j < k1[2] ; ++j ) {
if ( j!=k1[2]-1 ) { printf ( "%c, ", treci[j] )
; } else {printf ( "%c\n", treci[j] ) ; }
}
for ( int j = 0; j < k1[3] ; ++j ) {
if ( j!=k1[3]-1 ) { printf ( "%c, ", cetvrti[j]
) ; } else {printf ( "%c\n", cetvrti[j] ) ; }
}
for ( int j = 0; j < k1[4] ; ++j ) {
if ( j!=k1[4]-1 ) { printf ( "%c, ", peti[j] )
; } else {printf ( "%c\n", peti[j] ) ; }
}
return 0;
}
/*
Student name: Ena Oster
School name: V. gimanzija
Language name: c++
Division name: JUnior
Division
Contest #4
*/
#include <cstdio>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int poc, kraj, u, br, dulj;
char c, tmp;
string s, n, nar, t, zavr,
x1, x2, x3, niz[7];
int main(void){
for (int j = 0; j < 5; j++){
scanf ("%c", &c);
char tm[100];
cin.getline (tm, 100);
s = string (tm);
poc = 0;
kraj = 5;
n = "ABCDE";
nar = "";
for (int i = 1; i < s.size(); i++){
tmp = s[i];
if (tmp == ','){if (nar.size() > 4){
t = nar.substr(1, 3);
if (t == "POP"){
if (c == 'S'){
dulj = n.size();
br = nar[5] - '0';
n = n.substr(0, dulj - br);
kraj--;
nar = "";
} else {
br = nar[5] - '0';
poc = poc+ br;
nar = "";
}
}
if (t == "PSH"){
n = n + nar[5];
kraj++;
nar = "";
}
if (t
== "DUP"){
br = nar[5] - '0';
n = n + n.substr(poc, br);
kraj = kraj + br;
nar = "";
}
if (t == "SWP"){
br = nar[5] - '0';
dulj = n.size();
x1 = n.substr(0, br);
x2 = n.substr(dulj - br, br);
x3 = n.substr(2, dulj-br-br);
n = x2 + x3 + x1;
nar = "";
}
} else {
if (c == 'S'){c = 'Q';} else {c =
'S';}
nar = "";
}
} else {nar = nar + tmp;}
}
t = nar.substr(1, 3);
if (t == "PRT"){
if (c == 'S'){
dulj = n.size();
br = nar[5] - '0';
zavr = zavr + n.substr(dulj-br, br);
nar = "";
} else {
br = nar[5] - '0';
zavr = zavr + n.substr(poc, br);
nar = "";
}
}
niz[j] = zavr;
zavr = "";
}
for (int i = 0; i < 5; i++){
t = niz[i];
u = t.size();
for (int j = 0; j < u - 1; j++){
printf ("%c, ", t[j]);
}
printf ("%c\n", t[u - 1]);
}
return 0;
}
//STUDENT NAME:DOMAGOJ CEVID
//SCHOOL NAME:V.GIMNAZIJA
//LANGUAGE NAME:CPP
//DIVISION NAME:JUNIOR
DIVISION
//CONTEST:#4
#include <cstdio>
#include <string>
using namespace std;
int main(void){
char tab[5][100];
memset(tab,'z',sizeof(tab));
char type[5];
for(int k=0;k<5;++k){
scanf("%c",&type[k]);
char stack[1000];
memset(stack,'x',sizeof(stack));
stack[100]='A';
stack[101]='B';
stack[102]='C';
stack[103]='D';
stack[104]='E';
int brojac=5;
int pocetak=100;
string ss="";
while(ss!="PRT"){
char bla[5];
scanf("%s",bla);
ss=bla;
for(int i=0;i<3;++i)
if(ss=="PSH")
scanf(" ");
if(ss=="POP"){
int x;
scanf("%d",&x);
if(type[k]=='S'){
int k=brojac-x;
for(int i=0;i<x;++i){
stack[i+pocetak+k]='x';
--brojac;
}
}
if(type[k]=='Q'){
for(int
i=0;i<x;++i){
stack[pocetak+i]='x';
}
pocetak+=x;
brojac-=x;
}
}
if(ss=="PSH"){
char O;
scanf("%c",&O);
if(type[k]=='S'){
stack[pocetak+brojac]=O;
++brojac;}
if(type[k]=='Q'){
stack[pocetak+brojac]=O;
++brojac;
}
}
if(ss=="DUP"){
int x;
scanf("%d",&x);
for(int i=0;i<x;++i){
stack[pocetak+brojac]=stack[pocetak+i];
++brojac;
}
}
if(ss=="SWP"){
int x;
scanf("%d",&x);
for(int i=0;i<x;++i){
char a;
a=stack[pocetak+brojac-x+i];
stack[pocetak+brojac-x+i]=stack[pocetak+i];
stack[pocetak+i]=a;
}
}
if(ss=="SWH"){
if(type[k]=='S')
type[k]='Q';
else
if(type[k]=='Q')
type[k]='S';
//printf("%c",type);
}
if(ss=="PRT"){
int x;
scanf("%d",&x);
if(type[k]=='S'){
int h=0;
for(int i=brojac-x;i<brojac;++i){
tab[k][h]=stack[i+pocetak];
++h;
}
}
if(type[k]=='Q'){
int h=0;
for(int i=0;i<x;++i){
tab[k][h]=stack[pocetak+i];
++h;
//printf("%c",stack[i+pocetak]);
}
}
}
/*
for(int i=0;i<brojac;++i)
printf("%c",stack[i+pocetak]);
printf(" %c",type);*/
if(k!=4)
scanf("\n");}
}
for(int i=0;i<5;++i)
for(int j=0;j>-1;++j){
printf("%c ",tab[i][j]);
if(tab[i][j+1]=='z'){
printf("\n");
break;
}
}
scanf("%%");
return 0;}