#pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
void*wmem;
char memarr[96000000];
template<class T> inline void walloc1d(T **arr, int x, void **mem = &wmem){
static int skip[16] = {0, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
(*mem) = (void*)( ((char*)(*mem)) + skip[((unsigned long long)(*mem)) & 15] );
(*arr)=(T*)(*mem);
(*mem)=((*arr)+x);
}
inline int my_getchar_unlocked(){
static char buf[1048576];
static int s = 1048576;
static int e = 1048576;
if(s == e && e == 1048576){
e = fread_unlocked(buf, 1, 1048576, stdin);
s = 0;
}
if(s == e){
return EOF;
}
return buf[s++];
}
inline void rd(int &x){
int k;
int m=0;
x=0;
for(;;){
k = my_getchar_unlocked();
if(k=='-'){
m=1;
break;
}
if('0'<=k&&k<='9'){
x=k-'0';
break;
}
}
for(;;){
k = my_getchar_unlocked();
if(k<'0'||k>'9'){
break;
}
x=x*10+k-'0';
}
if(m){
x=-x;
}
}
struct MY_WRITER{
char buf[1048576];
int s;
int e;
MY_WRITER(){
s = 0;
e = 1048576;
}
~MY_WRITER(){
if(s){
fwrite_unlocked(buf, 1, s, stdout);
}
}
}
;
MY_WRITER MY_WRITER_VAR;
void my_putchar_unlocked(int a){
if(MY_WRITER_VAR.s == MY_WRITER_VAR.e){
fwrite_unlocked(MY_WRITER_VAR.buf, 1, MY_WRITER_VAR.s, stdout);
MY_WRITER_VAR.s = 0;
}
MY_WRITER_VAR.buf[MY_WRITER_VAR.s++] = a;
}
inline void wt_L(char a){
my_putchar_unlocked(a);
}
inline void wt_L(long long x){
int s=0;
int m=0;
char f[20];
if(x<0){
m=1;
x=-x;
}
while(x){
f[s++]=x%10;
x/=10;
}
if(!s){
f[s++]=0;
}
if(m){
my_putchar_unlocked('-');
}
while(s--){
my_putchar_unlocked(f[s]+'0');
}
}
template<class T> int coordcomp_L(int n, T arr[], int res[] = NULL, void *mem = wmem){
int i;
int k = 0;
pair<T,int>*r;
walloc1d(&r, n, &mem);
for(i=(0);i<(n);i++){
r[i].first = arr[i];
r[i].second = i;
}
sort(r, r+n);
if(res != NULL){
for(i=(0);i<(n);i++){
if(i && r[i].first != r[i-1].first){
k++;
}
res[r[i].second] = k;
}
}
else{
for(i=(0);i<(n);i++){
if(i && r[i].first != r[i-1].first){
k++;
}
arr[r[i].second] = k;
}
}
return k+1;
}
template<class T> struct fenwick{
int size;
int memory;
T*data;
void malloc(int mem);
void malloc(int mem, int fg);
void walloc(int mem, void **workMemory = &wmem);
void walloc(int mem, int fg, void **workMemory = &wmem);
void free(void);
void init(int N);
void add(int k, T val);
T get(int k);
T range(int a, int b);
int kth(T k);
}
;
int N;
int W[200000];
int r[200000];
long long res[200000];
fenwick<long long> f;
int main(){
int i;
wmem = memarr;
rd(N);
{
int Lj4PdHRW;
for(Lj4PdHRW=(0);Lj4PdHRW<(N);Lj4PdHRW++){
rd(W[Lj4PdHRW]);
}
}
f.walloc(N+1,1);
coordcomp_L(N, W, r);
for(i=(0);i<(N);i++){
f.add(r[i], W[i]);
res[i] += f.range(r[i]+1, N);
if(i){
res[i] += res[i-1];
}
}
{
int RZTsC2BF;
if(N==0){
wt_L('\n');
}
else{
for(RZTsC2BF=(0);RZTsC2BF<(N-1);RZTsC2BF++){
wt_L(res[RZTsC2BF]);
wt_L(' ');
}
wt_L(res[RZTsC2BF]);
wt_L('\n');
}
}
return 0;
}
template<class T> void fenwick<T>::malloc(int mem){
memory = mem;
data = (T*)std::malloc(sizeof(T)*mem);
}
template<class T> void fenwick<T>::malloc(int mem, int fg){
memory = mem;
data = (T*)std::malloc(sizeof(T)*mem);
if(fg){
init(mem);
}
}
template<class T> void fenwick<T>::walloc(int mem, void **workMemory /* = &wmem*/){
memory = mem;
walloc1d(&data, mem, workMemory);
}
template<class T> void fenwick<T>::walloc(int mem, int fg, void **workMemory /* = &wmem*/){
memory = mem;
walloc1d(&data, mem, workMemory);
if(fg){
init(mem);
}
}
template<class T> void fenwick<T>::free(void){
memory = 0;
free(data);
}
template<class T> void fenwick<T>::init(int N){
size = N;
memset(data,0,sizeof(T)*N);
}
template<class T> void fenwick<T>::add(int k, T val){
while(k < size){
data[k] += val;
k |= k+1;
}
}
template<class T> T fenwick<T>::get(int k){
T res = 0;
while(k>=0){
res += data[k];
k = (k&(k+1))-1;
}
return res;
}
template<class T> T fenwick<T>::range(int a, int b){
if(b==-1){
b=size-1;
}
return get(b) - get(a-1);
}
template<class T> int fenwick<T>::kth(T k){
int i=0;
int j=size;
int c;
T v;
while(i<j){
c = (i+j)/2;
v = get(c);
if(v <= k){
i=c+1;
}
else{
j=c;
}
}
return i==size?-1:i;
}
// cLay varsion 20201031-1
// --- original code ---
// int N, W[2d5];
// int r[2d5];
// ll res[2d5];
// fenwick<ll> f;
// {
// rd(N,W(N));
// f.walloc(N+1,1);
// coordcomp(N, W, r);
// rep(i,N){
// f.add(r[i], W[i]);
// res[i] += f.range(r[i]+1, N);
// if(i) res[i] += res[i-1];
// }
// wt(res(N));
// }
I3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZmFzdCIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZvaWQqd21lbTsKY2hhciBtZW1hcnJbOTYwMDAwMDBdOwp0ZW1wbGF0ZTxjbGFzcyBUPiBpbmxpbmUgdm9pZCB3YWxsb2MxZChUICoqYXJyLCBpbnQgeCwgdm9pZCAqKm1lbSA9ICZ3bWVtKXsKICBzdGF0aWMgaW50IHNraXBbMTZdID0gezAsIDE1LCAxNCwgMTMsIDEyLCAxMSwgMTAsIDksIDgsIDcsIDYsIDUsIDQsIDMsIDIsIDF9OwogICgqbWVtKSA9ICh2b2lkKikoICgoY2hhciopKCptZW0pKSArIHNraXBbKCh1bnNpZ25lZCBsb25nIGxvbmcpKCptZW0pKSAmIDE1XSApOwogICgqYXJyKT0oVCopKCptZW0pOwogICgqbWVtKT0oKCphcnIpK3gpOwp9CmlubGluZSBpbnQgbXlfZ2V0Y2hhcl91bmxvY2tlZCgpewogIHN0YXRpYyBjaGFyIGJ1ZlsxMDQ4NTc2XTsKICBzdGF0aWMgaW50IHMgPSAxMDQ4NTc2OwogIHN0YXRpYyBpbnQgZSA9IDEwNDg1NzY7CiAgaWYocyA9PSBlICYmIGUgPT0gMTA0ODU3Nil7CiAgICBlID0gZnJlYWRfdW5sb2NrZWQoYnVmLCAxLCAxMDQ4NTc2LCBzdGRpbik7CiAgICBzID0gMDsKICB9CiAgaWYocyA9PSBlKXsKICAgIHJldHVybiBFT0Y7CiAgfQogIHJldHVybiBidWZbcysrXTsKfQppbmxpbmUgdm9pZCByZChpbnQgJngpewogIGludCBrOwogIGludCBtPTA7CiAgeD0wOwogIGZvcig7Oyl7CiAgICBrID0gbXlfZ2V0Y2hhcl91bmxvY2tlZCgpOwogICAgaWYoaz09Jy0nKXsKICAgICAgbT0xOwogICAgICBicmVhazsKICAgIH0KICAgIGlmKCcwJzw9ayYmazw9JzknKXsKICAgICAgeD1rLScwJzsKICAgICAgYnJlYWs7CiAgICB9CiAgfQogIGZvcig7Oyl7CiAgICBrID0gbXlfZ2V0Y2hhcl91bmxvY2tlZCgpOwogICAgaWYoazwnMCd8fGs+JzknKXsKICAgICAgYnJlYWs7CiAgICB9CiAgICB4PXgqMTAray0nMCc7CiAgfQogIGlmKG0pewogICAgeD0teDsKICB9Cn0Kc3RydWN0IE1ZX1dSSVRFUnsKICBjaGFyIGJ1ZlsxMDQ4NTc2XTsKICBpbnQgczsKICBpbnQgZTsKICBNWV9XUklURVIoKXsKICAgIHMgPSAwOwogICAgZSA9IDEwNDg1NzY7CiAgfQogIH5NWV9XUklURVIoKXsKICAgIGlmKHMpewogICAgICBmd3JpdGVfdW5sb2NrZWQoYnVmLCAxLCBzLCBzdGRvdXQpOwogICAgfQogIH0KfQo7Ck1ZX1dSSVRFUiBNWV9XUklURVJfVkFSOwp2b2lkIG15X3B1dGNoYXJfdW5sb2NrZWQoaW50IGEpewogIGlmKE1ZX1dSSVRFUl9WQVIucyA9PSBNWV9XUklURVJfVkFSLmUpewogICAgZndyaXRlX3VubG9ja2VkKE1ZX1dSSVRFUl9WQVIuYnVmLCAxLCBNWV9XUklURVJfVkFSLnMsIHN0ZG91dCk7CiAgICBNWV9XUklURVJfVkFSLnMgPSAwOwogIH0KICBNWV9XUklURVJfVkFSLmJ1ZltNWV9XUklURVJfVkFSLnMrK10gPSBhOwp9CmlubGluZSB2b2lkIHd0X0woY2hhciBhKXsKICBteV9wdXRjaGFyX3VubG9ja2VkKGEpOwp9CmlubGluZSB2b2lkIHd0X0wobG9uZyBsb25nIHgpewogIGludCBzPTA7CiAgaW50IG09MDsKICBjaGFyIGZbMjBdOwogIGlmKHg8MCl7CiAgICBtPTE7CiAgICB4PS14OwogIH0KICB3aGlsZSh4KXsKICAgIGZbcysrXT14JTEwOwogICAgeC89MTA7CiAgfQogIGlmKCFzKXsKICAgIGZbcysrXT0wOwogIH0KICBpZihtKXsKICAgIG15X3B1dGNoYXJfdW5sb2NrZWQoJy0nKTsKICB9CiAgd2hpbGUocy0tKXsKICAgIG15X3B1dGNoYXJfdW5sb2NrZWQoZltzXSsnMCcpOwogIH0KfQp0ZW1wbGF0ZTxjbGFzcyBUPiBpbnQgY29vcmRjb21wX0woaW50IG4sIFQgYXJyW10sIGludCByZXNbXSA9IE5VTEwsIHZvaWQgKm1lbSA9IHdtZW0pewogIGludCBpOwogIGludCBrID0gMDsKICBwYWlyPFQsaW50PipyOwogIHdhbGxvYzFkKCZyLCBuLCAmbWVtKTsKICBmb3IoaT0oMCk7aTwobik7aSsrKXsKICAgIHJbaV0uZmlyc3QgPSBhcnJbaV07CiAgICByW2ldLnNlY29uZCA9IGk7CiAgfQogIHNvcnQociwgcituKTsKICBpZihyZXMgIT0gTlVMTCl7CiAgICBmb3IoaT0oMCk7aTwobik7aSsrKXsKICAgICAgaWYoaSAmJiByW2ldLmZpcnN0ICE9IHJbaS0xXS5maXJzdCl7CiAgICAgICAgaysrOwogICAgICB9CiAgICAgIHJlc1tyW2ldLnNlY29uZF0gPSBrOwogICAgfQogIH0KICBlbHNlewogICAgZm9yKGk9KDApO2k8KG4pO2krKyl7CiAgICAgIGlmKGkgJiYgcltpXS5maXJzdCAhPSByW2ktMV0uZmlyc3QpewogICAgICAgIGsrKzsKICAgICAgfQogICAgICBhcnJbcltpXS5zZWNvbmRdID0gazsKICAgIH0KICB9CiAgcmV0dXJuIGsrMTsKfQp0ZW1wbGF0ZTxjbGFzcyBUPiBzdHJ1Y3QgZmVud2lja3sKICBpbnQgc2l6ZTsKICBpbnQgbWVtb3J5OwogIFQqZGF0YTsKICB2b2lkIG1hbGxvYyhpbnQgbWVtKTsKICB2b2lkIG1hbGxvYyhpbnQgbWVtLCBpbnQgZmcpOwogIHZvaWQgd2FsbG9jKGludCBtZW0sIHZvaWQgKip3b3JrTWVtb3J5ID0gJndtZW0pOwogIHZvaWQgd2FsbG9jKGludCBtZW0sIGludCBmZywgdm9pZCAqKndvcmtNZW1vcnkgPSAmd21lbSk7CiAgdm9pZCBmcmVlKHZvaWQpOwogIHZvaWQgaW5pdChpbnQgTik7CiAgdm9pZCBhZGQoaW50IGssIFQgdmFsKTsKICBUIGdldChpbnQgayk7CiAgVCByYW5nZShpbnQgYSwgaW50IGIpOwogIGludCBrdGgoVCBrKTsKfQo7CmludCBOOwppbnQgV1syMDAwMDBdOwppbnQgclsyMDAwMDBdOwpsb25nIGxvbmcgcmVzWzIwMDAwMF07CmZlbndpY2s8bG9uZyBsb25nPiBmOwppbnQgbWFpbigpewogIGludCBpOwogIHdtZW0gPSBtZW1hcnI7CiAgcmQoTik7CiAgewogICAgaW50IExqNFBkSFJXOwogICAgZm9yKExqNFBkSFJXPSgwKTtMajRQZEhSVzwoTik7TGo0UGRIUlcrKyl7CiAgICAgIHJkKFdbTGo0UGRIUlddKTsKICAgIH0KICB9CiAgZi53YWxsb2MoTisxLDEpOwogIGNvb3JkY29tcF9MKE4sIFcsIHIpOwogIGZvcihpPSgwKTtpPChOKTtpKyspewogICAgZi5hZGQocltpXSwgV1tpXSk7CiAgICByZXNbaV0gKz0gZi5yYW5nZShyW2ldKzEsIE4pOwogICAgaWYoaSl7CiAgICAgIHJlc1tpXSArPSByZXNbaS0xXTsKICAgIH0KICB9CiAgewogICAgaW50IFJaVHNDMkJGOwogICAgaWYoTj09MCl7CiAgICAgIHd0X0woJ1xuJyk7CiAgICB9CiAgICBlbHNlewogICAgICBmb3IoUlpUc0MyQkY9KDApO1JaVHNDMkJGPChOLTEpO1JaVHNDMkJGKyspewogICAgICAgIHd0X0wocmVzW1JaVHNDMkJGXSk7CiAgICAgICAgd3RfTCgnICcpOwogICAgICB9CiAgICAgIHd0X0wocmVzW1JaVHNDMkJGXSk7CiAgICAgIHd0X0woJ1xuJyk7CiAgICB9CiAgfQogIHJldHVybiAwOwp9CnRlbXBsYXRlPGNsYXNzIFQ+IHZvaWQgZmVud2ljazxUPjo6bWFsbG9jKGludCBtZW0pewogIG1lbW9yeSA9IG1lbTsKICBkYXRhID0gKFQqKXN0ZDo6bWFsbG9jKHNpemVvZihUKSptZW0pOwp9CnRlbXBsYXRlPGNsYXNzIFQ+IHZvaWQgZmVud2ljazxUPjo6bWFsbG9jKGludCBtZW0sIGludCBmZyl7CiAgbWVtb3J5ID0gbWVtOwogIGRhdGEgPSAoVCopc3RkOjptYWxsb2Moc2l6ZW9mKFQpKm1lbSk7CiAgaWYoZmcpewogICAgaW5pdChtZW0pOwogIH0KfQp0ZW1wbGF0ZTxjbGFzcyBUPiB2b2lkIGZlbndpY2s8VD46OndhbGxvYyhpbnQgbWVtLCB2b2lkICoqd29ya01lbW9yeSAvKiA9ICZ3bWVtKi8pewogIG1lbW9yeSA9IG1lbTsKICB3YWxsb2MxZCgmZGF0YSwgbWVtLCB3b3JrTWVtb3J5KTsKfQp0ZW1wbGF0ZTxjbGFzcyBUPiB2b2lkIGZlbndpY2s8VD46OndhbGxvYyhpbnQgbWVtLCBpbnQgZmcsIHZvaWQgKip3b3JrTWVtb3J5IC8qID0gJndtZW0qLyl7CiAgbWVtb3J5ID0gbWVtOwogIHdhbGxvYzFkKCZkYXRhLCBtZW0sIHdvcmtNZW1vcnkpOwogIGlmKGZnKXsKICAgIGluaXQobWVtKTsKICB9Cn0KdGVtcGxhdGU8Y2xhc3MgVD4gdm9pZCBmZW53aWNrPFQ+OjpmcmVlKHZvaWQpewogIG1lbW9yeSA9IDA7CiAgZnJlZShkYXRhKTsKfQp0ZW1wbGF0ZTxjbGFzcyBUPiB2b2lkIGZlbndpY2s8VD46OmluaXQoaW50IE4pewogIHNpemUgPSBOOwogIG1lbXNldChkYXRhLDAsc2l6ZW9mKFQpKk4pOwp9CnRlbXBsYXRlPGNsYXNzIFQ+IHZvaWQgZmVud2ljazxUPjo6YWRkKGludCBrLCBUIHZhbCl7CiAgd2hpbGUoayA8IHNpemUpewogICAgZGF0YVtrXSArPSB2YWw7CiAgICBrIHw9IGsrMTsKICB9Cn0KdGVtcGxhdGU8Y2xhc3MgVD4gVCBmZW53aWNrPFQ+OjpnZXQoaW50IGspewogIFQgcmVzID0gMDsKICB3aGlsZShrPj0wKXsKICAgIHJlcyArPSBkYXRhW2tdOwogICAgayA9IChrJihrKzEpKS0xOwogIH0KICByZXR1cm4gcmVzOwp9CnRlbXBsYXRlPGNsYXNzIFQ+IFQgZmVud2ljazxUPjo6cmFuZ2UoaW50IGEsIGludCBiKXsKICBpZihiPT0tMSl7CiAgICBiPXNpemUtMTsKICB9CiAgcmV0dXJuIGdldChiKSAtIGdldChhLTEpOwp9CnRlbXBsYXRlPGNsYXNzIFQ+IGludCBmZW53aWNrPFQ+OjprdGgoVCBrKXsKICBpbnQgaT0wOwogIGludCBqPXNpemU7CiAgaW50IGM7CiAgVCB2OwogIHdoaWxlKGk8ail7CiAgICBjID0gKGkraikvMjsKICAgIHYgPSBnZXQoYyk7CiAgICBpZih2IDw9IGspewogICAgICBpPWMrMTsKICAgIH0KICAgIGVsc2V7CiAgICAgIGo9YzsKICAgIH0KICB9CiAgcmV0dXJuIGk9PXNpemU/LTE6aTsKfQovLyBjTGF5IHZhcnNpb24gMjAyMDEwMzEtMQoKLy8gLS0tIG9yaWdpbmFsIGNvZGUgLS0tCi8vIGludCBOLCBXWzJkNV07Ci8vIGludCByWzJkNV07Ci8vIGxsIHJlc1syZDVdOwovLyBmZW53aWNrPGxsPiBmOwovLyB7Ci8vICAgcmQoTixXKE4pKTsKLy8gICBmLndhbGxvYyhOKzEsMSk7Ci8vICAgY29vcmRjb21wKE4sIFcsIHIpOwovLyAgIHJlcChpLE4pewovLyAgICAgZi5hZGQocltpXSwgV1tpXSk7Ci8vICAgICByZXNbaV0gKz0gZi5yYW5nZShyW2ldKzEsIE4pOwovLyAgICAgaWYoaSkgcmVzW2ldICs9IHJlc1tpLTFdOwovLyAgIH0KLy8gICB3dChyZXMoTikpOwovLyB9Cg==