#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int m;
vector<int> vec;
while(cin>>m){
vec.clear();
int a[m][m];
for(int i=0; i<m; i++){
for(int j=0; j<m; j++){
scanf("%d",&a[i][j]);
}
}
int first_sum=0;//声明在外面,主对角线和
for(int i=0; i<m; i++){
int sum_line = 0,sum_col=0;//行,列
for(int j=0; j<m; j++){
sum_line += a[i][j];
sum_col += a[j][i];
if(i==j) first_sum += a[i][j];
}
vec.push_back(sum_line);
vec.push_back(sum_col);
}
vec.push_back(first_sum);//必须在外层循环结束后
int second_sum=0;
for(int i=0; i<m; i++){
int j=m-i-1;//不能放在循环()内,注意i+j=m-1,注意j的取值
second_sum +=a[i][j];
}
vec.push_back(second_sum);
sort(vec.begin(),vec.end());
reverse(vec.begin(),vec.end());
//sort(arr.begin(),arr.end(),greater<int>());//注意()
for(auto num : vec){
cout<<num<<' ';
}
cout<<endl;
}
}