#include <bits/stdc++.h>
#define N 1005
using namespace std;
int ty[4],f[4],T;
int a[N][N],ans[N][N];
char s[100005];
void work(){
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			scanf("%d",&a[i][j]);
	scanf("%s",s+1);
	ty[1]=1,ty[2]=2,ty[3]=3; f[1]=f[2]=f[3]=0;
	for(int i=1;i<=m;i++){
		if(s[i]=='U')f[1]--;
		if(s[i]=='D')f[1]++;
		if(s[i]=='L')f[2]--;
		if(s[i]=='R')f[2]++;
		if(s[i]=='I')swap(ty[2],ty[3]),swap(f[2],f[3]);
		if(s[i]=='C')swap(ty[1],ty[3]),swap(f[1],f[3]);
	}
	int now[4],x,y,k;
	for(now[1]=1;now[1]<=n;now[1]++){
		for(now[2]=1;now[2]<=n;now[2]++){
			now[3]=a[now[1]][now[2]];
			x=((now[ty[1]]+f[1])%n+n)%n,y=((now[ty[2]]+f[2])%n+n)%n;
			k=((now[ty[3]]+f[3])%n+n)%n;
			x=(!x)?n:x,y=(!y)?n:y,k=(!k)?n:k;
			ans[x][y]=k;
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++)
			printf("%d ",ans[i][j]);
		printf("\n");
	}
	printf("\n");
}
int main(){
	cin>>T;
	while(T--) work();
}