using namespace std;
int main(){
int n,m;
int count=0;//以顺时针转为基
int op;
cin>>n>>m;
int **M=new int*[n]; //⠀ ⠀⠀⠀ ⠰⢷⢿⠄
int **t=new int*[n]; // ⠀⠀⠀⠀⠀⣼⣷⣄
for(int i=0;i<n;i++){ // ⠀⠀⣤⣿⣇⣿⣿⣧⣿⡄
M[i]=new int[n]; // ⢴⠾⠋⠀⠀⠻⣿⣷⣿⣿⡀
t[i]=new int[n]; // 篮球 ⠀⢀⣿⣿⡿⢿⠈⣿
} // ⠀⠀⠀⢠⣿⡿⠁⠀⡊⠀⠙
for(int i=0;i<(n*n);i++){ // ⠀ ⠀⠀⢿⣿⠀⠀⠹⣿
cin>>M[i/n][i%n]; //⠀ ⠀⠀⠀⠹⣷⡀⠀⣿⡄
} //⠀⠀ ⠀⠀⣀⣼⣿⠀⢈⣧
for(int j=0;j<m;j++){
count=0;
cin>>op;
switch(op){
case 1:count++;break;
case 2:count+=3;break;
case 3:count+=2;break;
}
count%=4;
if(count<0)count+=4;
for(int x=0;x<count;x++){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
t[i][j]=M[n-j-1][i];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
M[i][j]=t[i][j];
}
}
}
for(int i=0;i<(n*n);i++){
if((i+1)%n==0)cout<<t[i/n][i%n]<<endl;
else cout<<t[i/n][i%n]<<' ';
}
cout<<endl;
}
return 0;
}