Your task is to develop a tiny little part of spreadsheet software.

Write a program which adds up columns and rows of given table as shown in the following figure:

<image>



Input

The input consists of several datasets. Each dataset consists of:


n (the size of row and column of the given table)
1st row of the table
2nd row of the table
:
:
nth row of the table


The input ends with a line consisting of a single 0.

Output

For each dataset, print the table with sums of rows and columns. Each item of the table should be aligned to the right with a margin for five digits. Please see the sample output for details.

Example

Input

4
52 96 15 20
86 22 35 45
45 78 54 36
16 86 74 55
4
52 96 15 20
86 22 35 45
45 78 54 36
16 86 74 55
0


Output

52   96   15   20  183
   86   22   35   45  188
   45   78   54   36  213
   16   86   74   55  231
  199  282  178  156  815
   52   96   15   20  183
   86   22   35   45  188
   45   78   54   36  213
   16   86   74   55  231
  199  282  178  156  815
#include <iostream>
#include <iomanip>
#include <vector>
using namespace std;

int main() {
  int n, sum, a;
  vector<int> v;

  while (cin >> n && n) {
    v.resize(n);
    for (int i=0; i<n; i++) v[i] = 0;
    for (int i=0; i<n; i++) {
      sum = 0;
      for (int j=0; j<n; j++) {
        cin >> a;
        cout << setw(5) << a;
        v[j] += a;
        sum += a;
      }
      cout << setw(5) << sum << endl;
    }
    sum = 0;
    for (int i=0; i<n; i++) {
      sum += v[i];
      cout << setw(5) << v[i];
    }
    cout << setw(5) << sum << endl;
  }

  return 0;
}