#include <stdio.h>
#include <string.h>

#define N 1000

char s[N];
int cursor;

int is_match(char cmd[20],char sq[120] ){
  int len = strlen( cmd );
  int i;
  for( i=0;i<len;i++ ){
    if( cmd[i]!=sq[i] )
      return -1;
  }
  return i;
}

int main(void){
  char s[101];
  int line, loop;
  int M,    cmdN;
  char cmd[120];
  char buf[110];
  char buf2[1000];
  int i,j,k,len;

  scanf("%d ",&line);
  for( loop=0;loop<line;loop++){
    fgets( s,N,stdin);
    len = strlen( s );
    s[len-1]='\0';
    len = strlen( s );

    scanf("%d ",&M);
    cursor=0;
    for( cmdN=0;cmdN<M;cmdN++){
      fgets( cmd,120,stdin);
      if(       is_match( "forward char",cmd)!=-1 ){
	if( cursor<len )
	  cursor++;
      }else if( is_match( "forward word",cmd)!=-1 ){
	if( s[cursor]!=' ' )
	  for(  ;s[cursor]!=' '&&cursor <len;  cursor++ );
	else{
	  while( s[cursor]==' '&&cursor<len ) cursor++  ;
	  for(  ;s[cursor]!=' '&&cursor <len;  cursor++ );
	}
      }else if( is_match( "backward char",cmd)!=-1 ){
	if( cursor>0 )
	  cursor--;
      }else if( is_match( "backward word",cmd)!=-1 ){
	if( s[cursor]!=' ' ){
	  for(  ;s[cursor]!=' '&&cursor >0;  cursor-- );
	  if( cursor!=0 )
	    cursor++;
	} else {
	  while( s[cursor]==' '&&cursor!=0 ) cursor-- ;
	  //if( s[cursor]==' ' )	    cursor--;
	  for(  ;s[cursor]!=' '&&cursor >0;  cursor-- );
	  if( cursor!=0 ) cursor++;
	}
      }else if( (j=is_match( "insert",cmd))   !=-1 ){
	i=0;
	while( 1 ){
	  buf2[i] = s[cursor+i];
	  if( buf2[i]=='\0' )
	    break;
	  i++;
	}
	k = cursor;
	while( cmd[j]!='"' ) j++;
	j++;
	while( 1 ){
	  s[k]= cmd[j++];
	  k++;
	  if( cmd[j]=='"' ){
	    cursor=k;
	    break;
	  }
	}
	i=0;
	while( 1 ){
	  s[k] = buf2[i];
	  if( s[k]=='\0' ){
	    len = k;
	    break;
	  }
	  k++;i++;
	}

      }else if( is_match( "delete char",cmd)  !=-1 ){
	if( cursor!=len ){
	  for(i=cursor;i<len;i++)
	    s[i]=s[i+1];
	  len--;
	}
      }else if( is_match( "delete word",cmd)  !=-1 ){
	i=cursor;
	if( i!=len ){
	  for(j=i; s[j]!=' '&&j<len;j++ );

	  if( s[j]=='\0' ){
	    s[i-1]='\0';
	  } else {
	    for(k=0;k<j;k++)
	      s[i+k] = s[j+k];
	  }
	}
	len = strlen( s );
      }
    }
    for( i=0;i<=len;i++ ){
      if( i==cursor )
	printf("^");
      if( i<len )
	printf("%c",s[i]);
    }
    printf("\n");
  }
  return 0;
}