#include<bits/stdc++.h>
using namespace std;
//ntm
#define fi first
#define se second
#define pb push_back
#define umap unordered_map
#define prq priority_queue
#define yeu_bong ios_base::sync_with_stdio(false);cin.tie(NULL);
#define vect vector
#define bend(v) v.begin(),v.end()
#define pob pop_back
#define lwb lower_bound
#define upb upper_bound
#define pii pair<int,int>
#define int long long
#define dbl long double
typedef pair<double, double> pdd;
const int INF=1e18;
const int MaxN=3e5;
const int MOD1=1e9+7;
const int MOD2=1e9+9;
const int dx[4]={0,0,1,-1},dy[4]={1,-1,0,0};
const int base=311;
const int OFFSET=1e9;
int n;
int a[MaxN+1];
vect<int>v;
int st[4*MaxN+1];
int lLess[MaxN+1],lGreater[MaxN+1],lEqual[MaxN+1];
int rLess[MaxN+1],rGreater[MaxN+1],rEqual[MaxN+1];
void update(int id,int l,int r,int pos){
if(l==r){
st[id]++;
return;
}
int m=l+(r-l)/2;
if(pos<=m)update(2*id,l,m,pos);
else update(2*id+1,m+1,r,pos);
st[id]=st[2*id]+st[2*id+1];
}
int query(int id,int tl,int tr,int l,int r){
if(tl>r||tr<l)return 0;
if(l<=tl&&tr<=r)return st[id];
int m=tl+(tr-tl)/2;
return query(2*id,tl,m,l,r)+query(2*id+1,m+1,tr,l,r);
}
void optimize(){
sort(bend(v));
v.resize(unique(bend(v))-v.begin());
for(int i=1;i<=n;i++)a[i]=lwb(bend(v),a[i])-v.begin()+1;
}
void reset(){
memset(st,0,sizeof st);
}
void sol(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
v.pb(a[i]);
}
optimize();
int m=v.size();
reset();
for(int i=1;i<=n;i++){
lLess[i]=query(1,1,m,1,a[i]-1);
lGreater[i]=query(1,1,m,a[i]+1,m);
lEqual[i]=i-1-lLess[i]-lGreater[i];
update(1,1,m,a[i]);
}
reset();
for(int i=n;i>=1;i--){
rLess[i]=query(1,1,m,1,a[i]-1);
rGreater[i]=query(1,1,m,a[i]+1,m);
rEqual[i]=n-i-rLess[i]-rGreater[i];
update(1,1,m,a[i]);
}
int res=0;
for(int i=1;i<=n;i++){
res+=lLess[i]*rLess[i];
res+=lLess[i]*rEqual[i];
res+=lEqual[i]*rLess[i];
res+=lEqual[i]*rEqual[i];
res+=lGreater[i]*rGreater[i];
res+=lEqual[i]*rGreater[i];
res+=lGreater[i]*rEqual[i];
}
cout<<res<<'\n';
}
void ffopen(const string& file){
if(file.empty()) return;
freopen((file+".inp").c_str(),"r",stdin);
freopen((file+".out").c_str(),"w",stdout);
}
signed main(){
yeu_bong;
ffopen("");
int t=1;
while(t--) sol();
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vbnRtCgojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgdW1hcCB1bm9yZGVyZWRfbWFwCiNkZWZpbmUgcHJxIHByaW9yaXR5X3F1ZXVlCgojZGVmaW5lIHlldV9ib25nIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpO2Npbi50aWUoTlVMTCk7CgojZGVmaW5lIHZlY3QgdmVjdG9yCiNkZWZpbmUgYmVuZCh2KSB2LmJlZ2luKCksdi5lbmQoKQojZGVmaW5lIHBvYiBwb3BfYmFjawojZGVmaW5lIGx3YiBsb3dlcl9ib3VuZAojZGVmaW5lIHVwYiB1cHBlcl9ib3VuZAojZGVmaW5lIHBpaSBwYWlyPGludCxpbnQ+CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGRibCBsb25nIGRvdWJsZQp0eXBlZGVmIHBhaXI8ZG91YmxlLCBkb3VibGU+IHBkZDsKICAgICAgICAgICAgICAgIApjb25zdCBpbnQgSU5GPTFlMTg7CmNvbnN0IGludCBNYXhOPTNlNTsKY29uc3QgaW50IE1PRDE9MWU5Kzc7CmNvbnN0IGludCBNT0QyPTFlOSs5Owpjb25zdCBpbnQgZHhbNF09ezAsMCwxLC0xfSxkeVs0XT17MSwtMSwwLDB9Owpjb25zdCBpbnQgYmFzZT0zMTE7CmNvbnN0IGludCBPRkZTRVQ9MWU5OwoKCmludCBuOwppbnQgYVtNYXhOKzFdOwp2ZWN0PGludD52OwppbnQgc3RbNCpNYXhOKzFdOwoKaW50IGxMZXNzW01heE4rMV0sbEdyZWF0ZXJbTWF4TisxXSxsRXF1YWxbTWF4TisxXTsKaW50IHJMZXNzW01heE4rMV0sckdyZWF0ZXJbTWF4TisxXSxyRXF1YWxbTWF4TisxXTsKCnZvaWQgdXBkYXRlKGludCBpZCxpbnQgbCxpbnQgcixpbnQgcG9zKXsKICAgIGlmKGw9PXIpewogICAgICAgIHN0W2lkXSsrOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGludCBtPWwrKHItbCkvMjsKICAgIGlmKHBvczw9bSl1cGRhdGUoMippZCxsLG0scG9zKTsKICAgIGVsc2UgdXBkYXRlKDIqaWQrMSxtKzEscixwb3MpOwogICAgc3RbaWRdPXN0WzIqaWRdK3N0WzIqaWQrMV07Cn0KCmludCBxdWVyeShpbnQgaWQsaW50IHRsLGludCB0cixpbnQgbCxpbnQgcil7CiAgICBpZih0bD5yfHx0cjxsKXJldHVybiAwOwogICAgaWYobDw9dGwmJnRyPD1yKXJldHVybiBzdFtpZF07CiAgICBpbnQgbT10bCsodHItdGwpLzI7CiAgICByZXR1cm4gcXVlcnkoMippZCx0bCxtLGwscikrcXVlcnkoMippZCsxLG0rMSx0cixsLHIpOwp9Cgp2b2lkIG9wdGltaXplKCl7CiAgICBzb3J0KGJlbmQodikpOwogICAgdi5yZXNpemUodW5pcXVlKGJlbmQodikpLXYuYmVnaW4oKSk7CiAgICBmb3IoaW50IGk9MTtpPD1uO2krKylhW2ldPWx3YihiZW5kKHYpLGFbaV0pLXYuYmVnaW4oKSsxOwp9Cgp2b2lkIHJlc2V0KCl7CiAgICBtZW1zZXQoc3QsMCxzaXplb2Ygc3QpOwp9Cgp2b2lkIHNvbCgpewogICAgY2luPj5uOwogICAgZm9yKGludCBpPTE7aTw9bjtpKyspewogICAgICAgIGNpbj4+YVtpXTsKICAgICAgICB2LnBiKGFbaV0pOwogICAgfQogICAgb3B0aW1pemUoKTsKICAgIGludCBtPXYuc2l6ZSgpOwogICAgcmVzZXQoKTsKICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKXsKICAgICAgICBsTGVzc1tpXT1xdWVyeSgxLDEsbSwxLGFbaV0tMSk7CiAgICAgICAgbEdyZWF0ZXJbaV09cXVlcnkoMSwxLG0sYVtpXSsxLG0pOwogICAgICAgIGxFcXVhbFtpXT1pLTEtbExlc3NbaV0tbEdyZWF0ZXJbaV07CiAgICAgICAgdXBkYXRlKDEsMSxtLGFbaV0pOwogICAgfQogICAgcmVzZXQoKTsKICAgIGZvcihpbnQgaT1uO2k+PTE7aS0tKXsKICAgICAgICByTGVzc1tpXT1xdWVyeSgxLDEsbSwxLGFbaV0tMSk7CiAgICAgICAgckdyZWF0ZXJbaV09cXVlcnkoMSwxLG0sYVtpXSsxLG0pOwogICAgICAgIHJFcXVhbFtpXT1uLWktckxlc3NbaV0tckdyZWF0ZXJbaV07CiAgICAgICAgdXBkYXRlKDEsMSxtLGFbaV0pOwogICAgfQogICAgaW50IHJlcz0wOwogICAgZm9yKGludCBpPTE7aTw9bjtpKyspewogICAgICAgIHJlcys9bExlc3NbaV0qckxlc3NbaV07CiAgICAgICAgcmVzKz1sTGVzc1tpXSpyRXF1YWxbaV07CiAgICAgICAgcmVzKz1sRXF1YWxbaV0qckxlc3NbaV07CiAgICAgICAgcmVzKz1sRXF1YWxbaV0qckVxdWFsW2ldOwogICAgICAgIHJlcys9bEdyZWF0ZXJbaV0qckdyZWF0ZXJbaV07CiAgICAgICAgcmVzKz1sRXF1YWxbaV0qckdyZWF0ZXJbaV07CiAgICAgICAgcmVzKz1sR3JlYXRlcltpXSpyRXF1YWxbaV07CiAgICB9CiAgICBjb3V0PDxyZXM8PCdcbic7Cn0KCgp2b2lkIGZmb3Blbihjb25zdCBzdHJpbmcmIGZpbGUpewogICAgaWYoZmlsZS5lbXB0eSgpKSByZXR1cm47CiAgICBmcmVvcGVuKChmaWxlKyIuaW5wIikuY19zdHIoKSwiciIsc3RkaW4pOwogICAgZnJlb3BlbigoZmlsZSsiLm91dCIpLmNfc3RyKCksInciLHN0ZG91dCk7Cn0KCnNpZ25lZCBtYWluKCl7CiAgICB5ZXVfYm9uZzsKICAgIGZmb3BlbigiIik7CiAgICBpbnQgdD0xOwogICAgd2hpbGUodC0tKSBzb2woKTsKfQo=