#include <bits/stdc++.h>   using namespace std;   using ll = int64_t;   int main(int argc, char* argv[]) {     std::ios::sync_with_stdio(false);     cin.tie(nullptr);     cout.precision(10);     int n;     cin >> n;     auto g = vector<vector<ll>>(n, vector<ll>(n, 2000000000));     for (int i = 0; i < (n - 1); ++i)       for (int j = 0; j < (n - i - 1); ++j) {         int d;         cin >> d;         g[i][i + j + 1] = g[i + j + 1][i] = d;       }     auto min_adj = vector<ll>(n);     for (int i = 0; i < (n); ++i)       min_adj[i] = *min_element((g[i]).begin(), (g[i]).end());     auto smallest = *min_element((min_adj).begin(), (min_adj).end());     for (int i = 0; i < (n); ++i)       for (int j = 0; j < (n); ++j) g[i][j] -= smallest;     auto dist = move(min_adj);     for (int i = 0; i < (n); ++i) dist[i] = 2 * (dist[i] - smallest);     auto done = vector<char>(n, false);     for (int _ = 0; _ < (n); ++_) {       int v = -1;       for (int i = 0; i < (n); ++i)         if (!done[i] && (v == -1 || dist[i] < dist[v])) v = i;       done[v] = true;       for (int i = 0; i < (n); ++i) dist[i] = min(dist[i], dist[v] + g[i][v]);     }     for (int i = 0; i < (n); ++i) cout << dist[i] + (n - 1) * smallest <<   n ;     return 0;   }   