#include <stdio.h>
#include <string.h>
//q182.2.字串操作
char str[120],ske[120];
int n,d[1200],j=0;
void turn(void){
int a;
for(int i=0;i<strlen(str);i=i+2){
a = str[i];
str[i] = str[i + 1];
str[i + 1] = a;
}
}
void sort(void){
int a;
for(int i=0;i<strlen(str);i=i+2){
if(str[i + 1] < str[i]){
a = str[i];
str[i] = str[i + 1];
str[i + 1] = a;
}
}
}
void resort(void){
int a;
j=0;
for(int i = 0;i < strlen(str);i++){
ske[i]=str[i];
}
for(int i = 0;i < strlen(str);i=i + 2){
str[i]=ske[j];
str[i + 1] = ske[strlen(str)/2 + j];
j++;
}
}
int main(void){
scanf("%s",str);
size_t length = strlen(str);
for(int i=0;i<strlen(str);i++){
//printf("%c\n",str[i]);
ske[i] = str[i];
}
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&d[i]);
if(d[i] == 0){
turn();
}else if(d[i] == 1){
sort();
}else if(d[i] == 2){
resort();
}
}
for(int i=0;i<strlen(str);i++){
printf("%c",str[i]);
}
}