Let's denote a function 

<image>

You are given an array a consisting of n integers. You have to calculate the sum of d(ai, aj) over all pairs (i, j) such that 1 ≤ i ≤ j ≤ n.

Input

The first line contains one integer n (1 ≤ n ≤ 200000) — the number of elements in a.

The second line contains n integers a1, a2, ..., an (1 ≤ ai ≤ 109) — elements of the array. 

Output

Print one integer — the sum of d(ai, aj) over all pairs (i, j) such that 1 ≤ i ≤ j ≤ n.

Examples

Input

5
1 2 3 1 3


Output

4


Input

4
6 6 5 5


Output

0


Input

4
6 6 4 4


Output

-8

Note

In the first example:

  1. d(a1, a2) = 0; 
  2. d(a1, a3) = 2; 
  3. d(a1, a4) = 0; 
  4. d(a1, a5) = 2; 
  5. d(a2, a3) = 0; 
  6. d(a2, a4) = 0; 
  7. d(a2, a5) = 0; 
  8. d(a3, a4) = - 2; 
  9. d(a3, a5) = 0; 
  10. d(a4, a5) = 2. 
import java.math.BigInteger;
import java.util.Arrays;
import java.util.Scanner;

public class Main {
	
	public static final int maxed = 200000 + 10;
	
	public static long[][] c = new long[maxed*3][2];
	
	public static int len;
	
	public static void add_(int x, int val, int cur) {
		while(x <= len) {
			c[x][cur] += val;
			x += (x&(-x));
		}
	}
	
	public static long sum_(int x, int cur) {
		long sum = 0;
		while(x != 0) {
			sum += c[x][cur];
			x -= (x&(-x));
		}
		return sum;
	}
	
	public static void main(String[] args) {
		
		Scanner in = new Scanner(System.in);
		int[] p = new int[maxed];
		int[] b = new int[maxed*3];
		int n = in.nextInt(), cnt = 0;
		for(int i = 1; i <= n; ++i) {
			p[i] = in.nextInt();
			b[++cnt] = p[i];
			b[++cnt] = p[i] - 1;
			b[++cnt] = p[i] + 1;
		}
		Arrays.sort(b, 1, cnt + 1);
		len = 1;
		for(int i = 2; i <= cnt; ++i)
			if(b[i] != b[len])
				b[++len] = b[i];
		BigInteger answer = new BigInteger(String.valueOf(0));
		for(int i = n; i >= 1; --i) {
			int wa = Arrays.binarySearch(b, 1, 1 + len, p[i] + 1);
			BigInteger bg = new BigInteger(String.valueOf(p[i]));
			answer = answer.add(new BigInteger(String.valueOf(sum_(len, 0) - sum_(wa, 0))).subtract(bg.multiply(new BigInteger(String.valueOf(sum_(len, 1) - sum_(wa, 1))))));
			wa = Arrays.binarySearch(b, 1, 1 + len, p[i] - 1);
			answer = answer.add(new BigInteger(String.valueOf(sum_(wa-1, 0))).subtract(bg.multiply(new BigInteger(String.valueOf(sum_(wa-1, 1))))));
			wa = Arrays.binarySearch(b, 1, 1 + len, p[i]);
			add_(wa, p[i], 0);
			add_(wa, 1, 1);
		}
		System.out.println(answer);
		in.close();
	}
}
