#include<iostream>
#include<cstdio>
using namespace std;
const int N=51;
int r,c,n,mp[N][N],now[N*N][1010][2],num[1010];
void dfsn(int x,int y,int w){
if(x-1>=1)
for(int i=x-1;i>=1;i--)
if(mp[i][y]){
now[++num[w]][w][0]=i;
now[num[w]][w][1]=y;
}
else break;
}
void dfsw(int x,int y,int w){
if(y-1>=1)
for(int i=y-1;i>=1;i--)
if(mp[x][i]){
now[++num[w]][w][0]=x;
now[num[w]][w][1]=i;
}
else break;
}
void dfss(int x,int y,int w){
if(x+1<=r)
for(int i=x+1;i<=r;i++)
if(mp[i][y]){
now[++num[w]][w][0]=i;
now[num[w]][w][1]=y;
}
else break;
}
void dfse(int x,int y,int w){
if(y+1<=c)
for(int i=y+1;i<=c;i++)
if(mp[x][i]){
now[++num[w]][w][0]=x;
now[num[w]][w][1]=i;
}
else break;
}
int main(){
scanf("%d%d",&r,&c);
for(int i=1;i<=r;i++)
for(int j=1;j<=c;j++){
char x;cin>>x;
if(x=='.'||x=='*')
mp[i][j]=1;
if(x=='*'){
now[++num[0]][0][0]=i;
now[num[0]][0][1]=j;
}
}
scanf("%d",&n);
for(int i=1;i<=n;i++){
string x;cin>>x;
for(int j=1;j<=num[i-1];j++){
if(x=="NORTH")dfsn(now[j][i-1][0],now[j][i-1][1],i);
else if(x=="WEST")dfsw(now[j][i-1][0],now[j][i-1][1],i);
else if(x=="SOUTH")dfss(now[j][i-1][0],now[j][i-1][1],i);
else if(x=="EAST")dfse(now[j][i-1][0],now[j][i-1][1],i);
}
}
for(int i=1;i<=num[n];i++){
mp[now[i][n][0]][now[i][n][1]]=2;
}
for(int i=1;i<=r;i++){
for(int j=1;j<=c;j++)
if(mp[i][j]==0)printf("X");
else if(mp[i][j]==1)printf(".");
else printf("*");
printf("\n");
}
return 0;
}