#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;
    }

}