package main

import (
	"fmt"
)

func main() {
    var arr []int
    var n, tmp int
    fmt.Scan(&n)
    for i := 0; i < n; i++ {
        fmt.Scan(&tmp)
        arr = append(arr, tmp)
    }
    fmt.Println(Process(arr, 0, len(arr)))
}

// Process [l, r)
func Process(arr []int, l int, r int) int {
	if l+1 >= r {
		return 0
	}
	mid := l + (r-l)>>1
	return Process(arr, l, mid) + Process(arr, mid, r) + merge(arr, l, r)
}

// merge [l, r)
func merge(arr []int, l int, r int) (sum int) {
	var help []int
	mid := l + (r-l)>>1
	i, j := l, mid
	for i < mid && j < r {
		if arr[i] <= arr[j] {
            sum += (r - j) * arr[i]
			help = append(help, arr[i])
			i++
		} else {
			help = append(help, arr[j])
			j++
		}
	}

	for i < mid {
		help = append(help, arr[i])
		i++
	}
	for j < r {
		help = append(help, arr[j])
		j++
	}

	// copy help to arr
	copy(arr[l:r], help)
    return sum
}