#include<iostream>

#define MAX_N 300000

using namespace std;

typedef long long ll;

ll N, a[MAX_N], ans[MAX_N];

ll bit[MAX_N + 1];

int sum(int i) {
	int s = 0;
	while (i > 0) {
		s += bit[i];
		i -= i & -i;
	}
	return s;
}

void add(int i, int x) {
	while (i <= N) {
		bit[i] += x;
		i += i & -i;
	}
}

int main() {

	cin >> N;

	for (int i = 0; i < N; i++)cin >> a[i];

	for (ll i = 0; i < N; i++) {
		ans[0] += i - sum(a[i] + 1);
		add(a[i] + 1, 1);
	}

	for (int i = 0; i < N - 1; i++) {
		ans[i + 1] = ans[i] + N - 2 * a[i] - 1;
	}

	for (int i = 0; i < N; i++) {
		cout << ans[i] << endl;
	}

	return 0;
}
#include <bits/stdc++.h>
using namespace std;

int main() {
  int N;
  cin >> N;
  vector<vector<int>>C(N, vector<int>(N));
  for(int i=0; i<N; i++){
    for(int j=0; j<N; j++){
      cin >> C[i][j];
    }
  }
  
  vector<int>A(N);
  vector<int>B(N);
  int mini=1000000001;
  for(int i=0; i<N; i++){
    B[i]=C[0][i]-C[0][0];
    mini=min(B[i], mini);
  }
  
  for(int i=0; i<N; i++){
    for(int j=0; j<N; j++){
      if(B[j]!=C[i][j]-C[i][0]){
        cout << "No" << endl;
        return 0;
      }
    }
  }
  
  for(int i=0; i<N; i++)B[i]-=mini;
  
  for(int i=0; i<N; i++){
    A[i]=C[i][0]-B[0];
  }
  
  cout << "Yes" << endl;
  for(int i=0; i<N; i++){
    if(i!=N-1)cout << A[i] << ' ';
    else cout << A[i] << endl;
  }

 for(int i=0; i<N; i++){
    if(i!=N-1)cout << B[i] << ' ';
   else cout << B[i] << endl;
  }
  
}