//矩阵旋转
#include<iostream>
using namespace std;
//在主函数外开辟数组
int arr[205][205];
int main(){
//输入数组的行数n,列数m,分别并输入数组元素
int n,m;
cin>>n>>m;
for(int i = 0;i < n; i++){
for(int j = 0;j < m; j++){
cin>>arr[i][j];
}
}
//将矩阵顺时针旋转90°输出
for(int i = 0;i < m; i++){
for(int j = 0; j < n; j++){
cout<<arr[n-1-j][i]<<" ";
}
cout<<endl;
}
//顺时针旋转每列元素反向后顺序横放
//将矩阵逆时针90°输出
for(int i = 0;i < m; i++){
for(int j = 0;j < n;j++){
cout<<arr[j][m-1-i]<<" ";
}
cout<<endl;
}
//逆时针旋转每列元素顺序不变,横放顺序反向
}