#include<bits/stdc++.h>
using namespace std;
const int N=100;
int n;
typedef vector<vector<int>> VVI;
VVI a;
// void transpose(VVI& b){
// // 【转置】<==> 沿 [对角线] 对称
// for(int i=0;i<n;i++){
// for(int j=0;j<i;j++){ //注意是j<i,不是j<n!!!
// swap(b[i][j], b[j][i]);
// }
// }
// }
void transpose(){
// 【转置】<==> 沿 [对角线] 对称
for(int i=0;i<n;i++){
for(int j=0;j<i;j++){ //注意是j<i,不是j<n!!!
swap(a[i][j], a[j][i]);
}
}
}
int main(){
cin>>n;
a=VVI(n, vector<int>(n));
//输入
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>a[i][j];
}
}
transpose();
//输出
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
/* ERROR
transpose()
1> 使用全局变量数组a————>无参
2> 使用形参数组b ————>形参b前面要加 & !!!
*/