#include<bits/stdc++.h>
#define ull unsigned long long
using namespace std;
int q,n,m;
char a[55][55];
string d[1005];
bool vis[1005][55][55];
int x,y;
void dfs(int x,int y,int f,bool walk){
if(!walk){vis[f][x][y]=1;
dfs(x,y,f+1,1);
if(f==q)a[x][y]='*';
}
if(d[f]=="NORTH"&&(a[x-1][y]=='.'||a[x-1][y]=='*')&&vis[f+1][x-1][y]==0)dfs(x-1,y,f,0);
else if(d[f]=="SOUTH"&&(a[x+1][y]=='.'||a[x+1][y]=='*')&&vis[f+1][x+1][y]==0)dfs(x+1,y,f,0);
else if(d[f]=="EAST"&&(a[x][y+1]=='.'||a[x][y+1]=='*')&&vis[f+1][x][y+1]==0)dfs(x,y+1,f,0);
else if(d[f]=="WEST"&&(a[x][y-1]=='.'||a[x][y-1]=='*')&&vis[f+1][x][y-1]==0)dfs(x,y-1,f,0);
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
if(a[i][j]=='*'){
x=i;y=j;
a[i][j]='.';
}
}
}
cin>>q;
for(int i=1;i<=q;i++){
cin>>d[i];
}
dfs(x,y,1,0);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cout<<a[i][j];
}
cout<<endl;
}
return 0;
}