#include <bits/stdc++.h>
#define FOR(i , l , r) for(int i = l ; i <= r ; ++i)
#define FORD(i , r , l) for(int i = r ; i >= l ; --i)
#define ll long long
using namespace std;
const int N = 1e5;
int n,a[N + 3];
ll ans;
namespace sub1{
void solve(){
FOR(i , 1 , n)
FOR(j , i + 1 , n)
FOR(k , j + 1 , n)
if(a[i] < a[j] && a[j] < a[k]) ans++;
cout << ans;
}
}
namespace sub2{
int cnt[1003];
void solve(){
FOR(j , 1 , n)
FOR(i , 1 , j - 1)
if(a[i] < a[j]) cnt[j]++;
FOR(j , 1 , n)
FOR(k , j + 1 , n)
if(a[j] < a[k])
ans += cnt[j];
cout << ans;
}
}
namespace sub3{
map<int,int> cnt;
ll L[N + 3],R[N + 3];
int t[N + 3],t1[N + 3];
int get(int x){
int res = 0;
for(; x ; x -= x & -x) res += t[x];
return res;
}
void upd(int x){
for(; x <= n ; x += x & -x) t[x]++;
}
int get1(int x){
int res = 0;
for(; x <= n ; x += x & -x) res += t1[x];
return res;
}
void upd1(int x){
for(; x ; x -= x & -x) t1[x]++;
}
void solve(){
FOR(i , 1 , n) cnt[a[i]] = 1;
int m = 0;
for(auto [u , v] : cnt) cnt[u] = ++m;
FOR(i , 1 , n) a[i] = cnt[a[i]];
FOR(i ,1 , n){
L[i] = get(a[i] - 1);
upd(a[i]);
}
FORD(i , n , 1){
R[i] = get1(a[i] + 1);
upd1(a[i]);
}
FOR(i , 1 , n) ans += L[i] * R[i];
cout << ans;
}
}
signed main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
freopen("COUNT.inp" , "r" , stdin);
freopen("COUNT.out" , "w" , stdout);
cin >> n;
FOR(i , 1 , n) cin >> a[i];
if(n <= 100) sub1::solve();
else if(n <= 1000) sub2::solve();
else sub3::solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgRk9SKGkgLCBsICwgcikgZm9yKGludCBpID0gbCA7IGkgPD0gciA7ICsraSkKI2RlZmluZSBGT1JEKGkgLCByICwgbCkgZm9yKGludCBpID0gciA7IGkgPj0gbCA7IC0taSkKI2RlZmluZSBsbCBsb25nIGxvbmcKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgaW50IE4gPSAxZTU7CmludCBuLGFbTiArIDNdOwpsbCBhbnM7Cm5hbWVzcGFjZSBzdWIxewogICAgdm9pZCBzb2x2ZSgpewogICAgICAgIEZPUihpICwgMSAsIG4pCiAgICAgICAgICAgIEZPUihqICwgaSArIDEgLCBuKQogICAgICAgICAgICAgICAgRk9SKGsgLCBqICsgMSAsIG4pCiAgICAgICAgICAgICAgICAgICAgaWYoYVtpXSA8IGFbal0gJiYgYVtqXSA8IGFba10pIGFucysrOwogICAgICAgIGNvdXQgPDwgYW5zOwogICAgfQp9Cm5hbWVzcGFjZSBzdWIyewogICAgaW50IGNudFsxMDAzXTsKICAgIHZvaWQgc29sdmUoKXsKICAgICAgICBGT1IoaiAsIDEgLCBuKQogICAgICAgICAgICBGT1IoaSAsIDEgLCBqIC0gMSkKICAgICAgICAgICAgICAgIGlmKGFbaV0gPCBhW2pdKSBjbnRbal0rKzsKICAgICAgICBGT1IoaiAsIDEgLCBuKQogICAgICAgICAgICBGT1IoayAsIGogKyAxICwgbikKICAgICAgICAgICAgICAgIGlmKGFbal0gPCBhW2tdKQogICAgICAgICAgICAgICAgICAgIGFucyArPSBjbnRbal07CiAgICAgICAgY291dCA8PCBhbnM7CiAgICB9Cn0KbmFtZXNwYWNlIHN1YjN7CiAgICBtYXA8aW50LGludD4gY250OwogICAgbGwgTFtOICsgM10sUltOICsgM107CiAgICBpbnQgdFtOICsgM10sdDFbTiArIDNdOwogICAgaW50IGdldChpbnQgeCl7CiAgICAgICAgaW50IHJlcyA9IDA7CiAgICAgICAgZm9yKDsgeCA7IHggLT0geCAmIC14KSByZXMgKz0gdFt4XTsKICAgICAgICByZXR1cm4gcmVzOwogICAgfQogICAgdm9pZCB1cGQoaW50IHgpewogICAgICAgIGZvcig7IHggPD0gbiA7IHggKz0geCAmIC14KSAgdFt4XSsrOwogICAgfQogICAgaW50IGdldDEoaW50IHgpewogICAgICAgIGludCByZXMgPSAwOwogICAgICAgIGZvcig7IHggPD0gbiA7IHggKz0geCAmIC14KSByZXMgKz0gdDFbeF07CiAgICAgICAgcmV0dXJuIHJlczsKICAgIH0KICAgIHZvaWQgdXBkMShpbnQgeCl7CiAgICAgICAgZm9yKDsgeCAgOyB4IC09IHggJiAteCkgIHQxW3hdKys7CiAgICB9CiAgICB2b2lkIHNvbHZlKCl7CiAgICAgICAgRk9SKGkgLCAxICwgbikgIGNudFthW2ldXSA9IDE7CiAgICAgICAgaW50IG0gPSAwOwogICAgICAgIGZvcihhdXRvIFt1ICwgdl0gOiBjbnQpIGNudFt1XSA9ICsrbTsKICAgICAgICBGT1IoaSAsIDEgLCBuKSBhW2ldID0gY250W2FbaV1dOwogICAgICAgIEZPUihpICAsMSAsIG4pewogICAgICAgICAgICBMW2ldID0gZ2V0KGFbaV0gLSAxKTsKICAgICAgICAgICAgdXBkKGFbaV0pOwogICAgICAgIH0KICAgICAgICBGT1JEKGkgLCBuICwgMSl7CiAgICAgICAgICAgIFJbaV0gPSBnZXQxKGFbaV0gKyAxKTsKICAgICAgICAgICAgdXBkMShhW2ldKTsKICAgICAgICB9CiAgICAgICAgRk9SKGkgLCAxICwgbikgYW5zICs9IExbaV0gKiBSW2ldOwogICAgICAgIGNvdXQgPDwgYW5zOwogICAgfQp9CnNpZ25lZCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CiAgICBjb3V0LnRpZSgwKTsKICAgIGZyZW9wZW4oIkNPVU5ULmlucCIgLCAiciIgLCBzdGRpbik7CiAgICBmcmVvcGVuKCJDT1VOVC5vdXQiICwgInciICwgc3Rkb3V0KTsKICAgIGNpbiA+PiBuOwogICAgRk9SKGkgLCAxICwgbikgY2luID4+IGFbaV07CiAgICBpZihuIDw9IDEwMCkgc3ViMTo6c29sdmUoKTsKICAgIGVsc2UgaWYobiA8PSAxMDAwKSBzdWIyOjpzb2x2ZSgpOwogICAgZWxzZSBzdWIzOjpzb2x2ZSgpOwogICAgcmV0dXJuIDA7Cn0K