
#include<stdio.h>
char a[100][100];
void c(char a[][100],int n,int x);
void le(char a[][100],int n,int x);
void change(char a[][100],int x,int y);
void up(char a[][100],int n,int x);
void print(int n);
int main()
{
int n;scanf("%d",&n);for(int i=0;i<n;i++){scanf("%s",a[i]);}int m;scanf("%d",&m);char b[m][22];int i,x[m];for(i=0;i<m;){scanf("%s",b[i]);if(b[i][0]=='p'){i++;continue;}scanf("%d",&x[i]);i++;}for(int j=0;j<i;j++){switch (b[j][0]) {case 'c':c(a,n,x[j]);break;case 'a':for(int k=0;k<3;k++)c(a,n,x[j]);break;case 'l':le(a,n,x[j]);break;case 'r':for(int k=0;k<n-1;k++)le(a,n,x[j]);break;case 'u':up(a,n,x[j]);break;case 'd':for(int k=0;k<n-1;k++)up(a,n,x[j]);break;case 'p':print(n);break;}}}
void c(char a[][100],int n,int x)
{
char t[n][n];for(int i=x-1,j=n-x;i<n-x+1;i++,j--){t[i][n-x]=a[x-1][i];t[n-x][i]=a[j][n-x];t[i][x-1]=a[n-x][i];t[x-1][i]=a[j][x-1];}for(int i=x-1,j=n-x;i<n-x+1;i++,j--){a[i][n-x]=t[i][n-x];change(a,i,n-x);a[n-x][i]=t[n-x][i];change(a,n-x,i);a[i][x-1]=t[i][x-1];change(a,i,x-1);a[x-1][i]=t[x-1][i];change(a,x-1,i);}}
void le(char a[][100],int n,int x)//有错误
{
char t[n][n];for(int i=1;i<n;i++){t[x-1][i-1]=a[x-1][i];}t[x-1][n-1]=a[x-1][0];for(int i=0;i<n;i++){a[x-1][i]=t[x-1][i];change(a,x-1,i);}}
void change(char a[][100],int x,int y)
{
if(a[x][y]>='A'&&a[x][y]<='Z')a[x][y]+=32;else if(a[x][y]>='a'&&a[x][y]<='z')a[x][y]-=32;}
void up(char a[][100],int n,int x)
{
char t[n][n];for(int i=1;i<n;i++){t[i-1][x-1]=a[i][x-1];}t[n-1][x-1]=a[0][x-1];for(int i=0;i<n;i++){a[i][x-1]=t[i][x-1];change(a,i,x-1);}}
void print(int n)
{
for(int k=0;k<n;k++){for(int j=0;j<n;j++){printf("%c",a[k][j]);}printf("\n");}}