#include <bits/stdc++.h>
using namespace std;
long long st[4000007];
int n,a[1000007];
map<int,int> c;
int f[1000007],f1[1000007];
void up(int id,int l,int r,int i,int x) {
if (l>i||r<i) return ;
if (l==r&&r==i) {
st[id]+=x;
return ;
}
int g=(l+r)>>1;
up(id<<1,l,g,i,x);
up(id<<1|1,g+1,r,i,x);
st[id]=st[id<<1]+st[id<<1|1];
}
int get(int id,int l,int r,int u,int v){
if (l>v||r<u) return 0;
if (l>=u&&r<=v) return st[id];
int g=(l+r)>>1;
return get(id<<1,l,g,u,v)+get(id<<1|1,g+1,r,u,v);
}
int32_t main()
{
// freopen("maxsum.inp","r",stdin);
// freopen("maxsum.out","w",stdout);
ios_base::sync_with_stdio(0);
cin.tie(0);
cin>>n;
for (int i=1;i<=n;i++) cin>>a[i];
for (int i=1;i<=n;i++) {
c[a[i]]++;
f[i]=c[a[i]];
}
c.clear();
for (int i=n;i>0;i--) {
c[a[i]]++;
f1[i]=c[a[i]];
up(1,1,n,f1[i],1);
}
long long ans=0;
for (int i=1;i<=n;i++) {
up(1,1,n,f1[i],-1);
ans+=get(1,1,n,1,f[i]-1);
}
cout<<ans;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmxvbmcgbG9uZyBzdFs0MDAwMDA3XTsKaW50IG4sYVsxMDAwMDA3XTsKbWFwPGludCxpbnQ+IGM7CmludCBmWzEwMDAwMDddLGYxWzEwMDAwMDddOwp2b2lkIHVwKGludCBpZCxpbnQgbCxpbnQgcixpbnQgaSxpbnQgeCkgewogIGlmIChsPml8fHI8aSkgcmV0dXJuIDsKICBpZiAobD09ciYmcj09aSkgewogICAgc3RbaWRdKz14OwogICAgcmV0dXJuIDsKICB9CiAgaW50IGc9KGwrcik+PjE7CiAgdXAoaWQ8PDEsbCxnLGkseCk7CiAgdXAoaWQ8PDF8MSxnKzEscixpLHgpOwogIHN0W2lkXT1zdFtpZDw8MV0rc3RbaWQ8PDF8MV07Cn0KaW50IGdldChpbnQgaWQsaW50IGwsaW50IHIsaW50IHUsaW50IHYpewogIGlmIChsPnZ8fHI8dSkgcmV0dXJuIDA7CiAgaWYgKGw+PXUmJnI8PXYpIHJldHVybiBzdFtpZF07CiAgaW50IGc9KGwrcik+PjE7CiAgcmV0dXJuIGdldChpZDw8MSxsLGcsdSx2KStnZXQoaWQ8PDF8MSxnKzEscix1LHYpOwp9CmludDMyX3QgbWFpbigpIAp7CiAgICAvLyBmcmVvcGVuKCJtYXhzdW0uaW5wIiwiciIsc3RkaW4pOwogICAgLy8gZnJlb3BlbigibWF4c3VtLm91dCIsInciLHN0ZG91dCk7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsKICAgIGNpbj4+bjsKICAgIGZvciAoaW50IGk9MTtpPD1uO2krKykgY2luPj5hW2ldOwogICAgZm9yIChpbnQgaT0xO2k8PW47aSsrKSB7CiAgICAgIGNbYVtpXV0rKzsKICAgICAgZltpXT1jW2FbaV1dOwogICAgfQogICAgYy5jbGVhcigpOwogICAgZm9yIChpbnQgaT1uO2k+MDtpLS0pIHsKICAgICAgY1thW2ldXSsrOwogICAgICBmMVtpXT1jW2FbaV1dOwogICAgICB1cCgxLDEsbixmMVtpXSwxKTsKICAgIH0KICAgIGxvbmcgbG9uZyBhbnM9MDsKICAgIGZvciAoaW50IGk9MTtpPD1uO2krKykgewogICAgICB1cCgxLDEsbixmMVtpXSwtMSk7CiAgICAgIGFucys9Z2V0KDEsMSxuLDEsZltpXS0xKTsKICAgIH0KICAgIGNvdXQ8PGFuczsKICAgIHJldHVybiAwOwp9