#include <stdio.h>
void sort1(char *S) {
int length = strlen(S);
for (int i = 0; i < length - 1; i += 2) {
char temp = S[i];
S[i] = S[i + 1];
S[i + 1] = temp;
}
}
void sort2(char *S){
int length = strlen(S);
for (int i = 0; i < length - 1; i += 2) {
if(S[i]>S[i+1]){
char temp = S[i];
S[i] = S[i + 1];
S[i + 1] = temp;
}
}
}
void sort3(char *S){
int length = strlen(S);
char s1[100],s2[100];
int mid=length/2;
for (int i = 0; i < mid; i += 1) {
s1[i]= S[i];
}
for (int i = 0; i < length - mid; i++) {
s2[i] = S[mid + i];
}
for (int i = 0; i < length; i += 1) {
if(i%2==0){
S[i]=s1[i/2];
}else{
S[i]=s2[i/2];
}
}
}
int main(void) {
char S[100];
int k, j = 0;
scanf("%[^\n]", S);
scanf("%d", &k);
int arr[k];
for (int i = 0; i < k; i++) {
scanf("%d", &arr[i]);
}
while (k--) {
if (arr[j] == 0) {
sort1(S);
}else if(arr[j] == 1){
sort2(S);
}else if(arr[j] == 2){
sort3(S);
}
j++;
}
printf("%s", S);
}
#include<stdio.h>//不用指標c++也能用void s1(char str[],int len){int i=0;for(i=0;i<len;i+=2){char temp=str[i];str[i]=str[i+1];str[i+1]=temp;}}void s2(char str[],int len){int i=0;for(i=0;i<len;i+=2){if(str[i]-'0'>str[i+1]-'0'){char temp=str[i];str[i]=str[i+1];str[i+1]=temp;}}}void s3(char str[],int len){int i,right=(len+1)/2;char str1[right],str2[right];for(i=0;i<right;i++){str1[i]=str[i];}for(i=0;i<right;i++){str2[i]=str[right+i];}for(i=0;i<len;i+=1){if(i%2==0){str[i]=str1[i/2];}else{str[i]=str2[i/2];}}}int main(void){char str[1000];int i,j,k;scanf("%[^\n]", str);scanf("%d",&k);int arr[k];int len=strlen(str);for(i=0;i<k;i++){scanf("%d",&arr[i]);}for(i=0;i<k;i++){if(arr[i]==0){s1(str,len);}else if(arr[i]==1){s2(str,len);}else{s3(str,len);}}printf("%s",str);return 0;}