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.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.HashMap;
import java.util.StringTokenizer;

public class Solution {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(new StringTokenizer(br.readLine()).nextToken());
        StringTokenizer st = new StringTokenizer(br.readLine());
        BigInteger result = BigInteger.ZERO;
        HashMap<Integer, Integer> numbers = new HashMap<>();
        long sum = 0;
        for(int i = 0; i < n; i++){
            int a = Integer.parseInt(st.nextToken());
            if(i > 0){
                int nocount = 0;
                int a1 = 0;
                int a2 = 0;
                int a3 = 0;
                if(numbers.containsKey(a)){
                    a1 = numbers.get(a);
                    nocount += a1;
                }
                if(numbers.containsKey(a - 1)){
                    a2 = numbers.get(a - 1);
                    nocount += a2;
                }
                if(numbers.containsKey(a + 1)){
                    a3 = numbers.get(a + 1);
                    nocount += a3;
                }
                result = result.add(BigInteger.valueOf(((long)(i - nocount)) * a - (sum - (long)a * a1 - (long)(a - 1) * a2 - (long)(a + 1) * a3)));
            }
            if(!numbers.containsKey(a))
                numbers.put(a, 1);
            else{
                numbers.put(a, numbers.get(a) + 1);
            }
            sum += a;
        }
        System.out.println(result.toString());
    }
}
