#include <bits/stdc++.h>
/*
#include <iostream>
#include <queue>
#include <cmath>
#include <map>
#include <cstring>
#include <algorithm>
#include <cstdio>
*/
using namespace std;
#define Riep(n) for(int i=1;i<=n;i++)
#define Riop(n) for(int i=0;i<n;i++)
#define Rjep(n) for(int j=1;j<=n;j++)
#define Rjop(n) for(int j=0;j<n;j++)
#define mst(ss,b) memset(ss,b,sizeof(ss));
typedef long long LL;
const LL mod=1e9+7;
const double PI=acos(-1.0);
const int inf=0x3f3f3f3f;
const int N=8002;
int n,m;
int x[N],y[N],a[N],flag[2*N];
int main()
{
while(scanf("%d",&n)!=EOF)
{
Riep(n)scanf("%d",&a[i]);
Riep(n)
{
mst(flag,0);
int ans=0;
x[0]=y[0]=0;
for(int j=1;j<=n;j++)
{
y[j]=y[j-1];
x[j]=x[j-1];
if(a[j]>a[i])y[j]++;
if(a[j]<a[i])x[j]++;
}
flag[0]++;
for(int j=1;j<i;j++)
{
int f=x[j]-y[j];
if(f>=0)flag[f]++;
else flag[8000+f]++;
}
for(int j=i;j<=n;j++)
{
int f=x[j]-y[j];
if(f>=0)ans+=flag[f];
else ans+=flag[8000+f];
}
if(i!=n) printf("%d ",ans);
else printf("%d\n",ans);
}
}
return 0;
}