/*
  AOJ 2103 
  Title:Battle Town
  @kankichi573
*/
#include <stdio.h>
#include <string.h>


int T,H,W,N;
int py,px;   //position
char map[20][21];
char map2[20][21];
char op[101];
int dir;
int diffx[4]={1,0,-1,0};
int diffy[4]={0,-1,0,1};
char sensha[4]=">^<v";

int in_range(int y,int x)
{
        return(y>=0 && y<H && x>=0 && x<W);
}
void dispatch(char ins)
{
        int dx,dy;

        if(ins=='U')
        {
                dir=1;
                if(py>0   && map[py-1][px]=='.')
                        py--;
        }
        if(ins=='D')
        {
                dir=3;
                if(py<H-1 && map[py+1][px]=='.')
                        py++;
        }
        if(ins=='L')
        {
                dir=2;
                if(py>0   && map[py][px-1]=='.')
                        px--;
        }
        if(ins=='R')
        {
                dir=0;
                if(px<H-1 && map[py][px+1]=='.')
                        px++;
        }
        if(ins=='S')
        {
                dy=py;dx=px;
                while(in_range(dy,dx) && (map[dy][dx]=='.' || map[dy][dx]=='-'))
                {
                        dy+=diffy[dir];
                        dx+=diffx[dir];
                        //printf("DYX=%d %d\n",dy,dx);
                }
                if(in_range(dy,dx) && map[dy][dx]=='*')
                        map[dy][dx]='.';
        }
}
void write_map(int cr)
{
        int i;
        
        memcpy(map2,map,20*21);
        map2[py][px]=sensha[dir];

        for(i=0;i<H;i++)
                printf("%s\n",&map2[i][0]);

        if(cr)
                printf("\n");
}
int search_pos(int * y,int * x)
{
        int i,j;
        char *p;

        for(i=0;i<H;i++)
                for(j=0;j<W;j++)
                        if((p=strchr(sensha,map[i][j])))
                        {
                                *y=i;*x=j;return(p-sensha);
                        }
        return(-1);
}
void solve()
{
        int i;
        char ins;

        dir=search_pos(&py,&px);

        //printf("YX=%d %d (%d)\n",py,px,dir);

        map[py][px]='.';

        for(i=0;i<N;i++)
        {
                //write_map();
                ins=op[i];
                //printf("INS=%c\n",ins);
                dispatch(ins);
        }
}
main()
{
        int i,j,ret;

        scanf("%d",&T);
        for(i=0;i<T;i++)
        {
                scanf("%d %d",&H,&W);
                for(j=0;j<H;j++)
                        scanf("%s",&map[j][0]);
                scanf("%d",&N);
                scanf("%s",&op[0]);
                solve();
                write_map((i<T-1));
        }
        return(0);
}