1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	int w,k;
	cin>>w>>k;
	char tab[w][k];
	for(int i=0;i<w;i++){
		for(int j=0;j<k;j++){
		cin>>tab[i][j];}}
	int z;
	char o;
	cin>>z;
	for(int i=0;i<z;i++){
		cin>>o;
		if(o=='G'){
			for(int b=1;b<w;b++){
		for(int j=0;j<k;j++){
			int c=b;
		while((tab[c-1][j]=='.')&&(tab[c][j]!='.')){
			swap(tab[c-1][j],tab[c][j]);
			c--;
			}
	}
	}
		}
		if(o=='D') {
			for(int b=w-2;b>=0;b--){
		for(int j=0;j<k;j++){
			int c=b;
		while((tab[c+1][j]=='.')&&(tab[c][j]!='.')){
			swap(tab[c+1][j],tab[c][j]);
			c++;
		}}}}
		if(o=='L'){ 
		for(int b=0;b<w;b++){
		for(int j=1;j<k;j++){
			int c=j;
		while((tab[b][c-1]=='.')&&(tab[b][c]!='.')&&(c!=0)){
			swap(tab[b][c-1],tab[b][c]);
			c--;
			}
	}
	}
		}
		 
		if(o=='P'){
			
	for(int b=0;b<w;b++){
		for(int j=k-2;j>=0;j--){
			int c=j;
		while((tab[b][c+1]=='.')&&(tab[b][c]!='.')&&(c!=k-1)){
			swap(tab[b][c+1],tab[b][c]);
			c++;
			}
	}
	}
	}	
	}	
	for(int i=0;i<w;i++){
		for(int j=0;j<k;j++){
		cout<<tab[i][j];}
		cout<<'\n';}
	
	return 0;
}