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;
}
}