import java.io.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
     private static final int MAX = 100001;
    private static int n;
    private static int[] arr = new int[MAX];
    private static int[] help = new int[MAX];

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StreamTokenizer in = new StreamTokenizer(br);
        PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
        while (in.nextToken() != in.TT_EOF) {
            n = (int) in.nval;
            for (int i = 0; i < n; i++) {
                in.nextToken();
                arr[i] = (int) in.nval;
            }
            out.println(smallSum(0, n - 1));
            out.flush();
        }
        out.flush();
        out.close();
    }

    public static long smallSum(int l, int r) {
        if (l == r) {
            return 0;
        }
        int mid = l + ((r - l) >> 1);
        return smallSum(l, mid) + smallSum(mid + 1, r) + merge(l, mid, r);
    }

    public static long merge(int l, int mid, int r) {
        long ans = 0, sum = 0;
        for (int i = l, j = mid + 1; j <= r; j++) {
            while (i <= mid && arr[i] <= arr[j]) {
                sum += arr[i++];
            }
            ans += sum;
        }
        int a = l, b = mid + 1, i = l;
        while (a <= mid && b <= r) {
            help[i++] = arr[a] <= arr[b] ? arr[a++] : arr[b++];
        }
        while (a <= mid) {
            help[i++] = arr[a++];
        }
        while (b <= r) {
            help[i++] = arr[b++];
        }
        for (i = l; i <= r; i++) {
            arr[i] = help[i];
        }
        return ans;
    }
}