package main
import (
"bufio"
"fmt"
"os"
"sort"
)
func main() {
in := bufio.NewReader(os.Stdin)
var n int
fmt.Fscan(in, &n)
a := make([]int, n)
for i := 0; i < n; i++ {
fmt.Fscan(in, &a[i])
}
const MAX = 100001
minp := make([]int, MAX)
maxp := make([]int, MAX)
for i := range minp {
minp[i] = -1
maxp[i] = -1
}
for i := 0; i < n; i++ {
val := a[i]
if minp[val] == -1 {
minp[val] = i + 1
}
maxp[val] = i + 1
}
var mins []int
for val := 1; val < MAX; val++ {
if minp[val] != -1 {
mins = append(mins, minp[val])
}
}
sort.Ints(mins)
var ans int64 = 0
for val := 1; val < MAX; val++ {
if maxp[val] != -1 {
R := maxp[val]
idx := sort.SearchInts(mins, R)
ans += int64(idx)
}
}
fmt.Println(ans)
}