#include #define all(v) v.begin(),v.end() using namespace std; using ll=long long; int main(){ ll n,ans=0,s=0; cin>>n; vector a(n),c,mul(n); for(auto &&v:a)cin>>v; c=a; sort(all(c)); c.erase(unique(all(c)),c.end()); atcoder::fenwick_tree L(n),R(n); for(auto &&v:a){ v=lower_bound(all(c),v)-c.begin(); R.add(v,1); } for(auto &&v:a){ s-=mul[v]; ans+=L.sum(0,v)*R.sum(0,v)+L.sum(v+1,n)*R.sum(v+1,n)-s; R.add(v,-1); L.add(v,1); s+=mul[v]=L.sum(v,v+1)*R.sum(v,v+1); } cout<