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.util.*;
import java.io.*;
import java.awt.*;
import java.math.*;

public class d {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
//				makeTestCase();
		int n = scan.nextInt();
		int[] a = new int[n];
		for(int i = 0 ; i < n ; i++)
			a[i] = scan.nextInt();
//		BruteForce(n, a);
		Integer[] sorted = new Integer[n];
		for(int i = 0 ; i < n ; i++)
			sorted[i] = a[i];
		Arrays.sort(sorted);
//		System.out.println(Arrays.toString(sorted));
		Map<Integer, Integer> map = new HashMap<>();
		int idx = 1;
		for(int i = 0 ; i < n ; i++) {
			if(!map.containsKey(sorted[i].intValue())) {
				if(!map.containsKey(sorted[i].intValue()-1))
					idx++;
				map.put(sorted[i].intValue(), idx++);
			}
		}
		
//				System.out.println(map.toString());

		BIT bit1 = new BIT(3*n+10); // for sums
		BIT bit2 = new BIT(3*n+10); // for counting

		BigInteger res1 = new BigInteger("0");
//		long res = 0;

		for(int i = 0 ; i < n ; i++) {
			int value = a[i];
			BigInteger val = new BigInteger(""+value);

//			long aboveSum = bit1.rangeSum(map.get(value)+2, 3*n+9);
//			long belowSum = bit1.rangeSum(1, map.get(value)-2);
//
//			long aboveCount = bit2.rangeSum(map.get(value)+2, 3*n+9);
//			long belowCount = bit2.rangeSum(1, map.get(value)-2);

//						System.out.println(String.format("%d %d %d %d %d", value, aboveSum, aboveCount, belowSum, belowCount));
			
			BigInteger aS = new BigInteger(""+bit1.rangeSum(map.get(value)+2, 3*n+9));
			BigInteger bS = new BigInteger(""+bit1.rangeSum(1, map.get(value)-2));

			BigInteger aC = new BigInteger(""+bit2.rangeSum(map.get(value)+2, 3*n+9));
			BigInteger bC = new BigInteger(""+bit2.rangeSum(1, map.get(value)-2));
			
			res1 = res1.add(aC.multiply(val)).subtract(aS);
			res1 = res1.add(bC.multiply(val)).subtract(bS);
			
//			res+=((aboveCount*value)-aboveSum) + ((belowCount*value)-belowSum);

//			System.out.println(map.get(value) + " " + value);
			
			
			bit1.update(map.get(value), value);
			bit2.update(map.get(value), 1);
		
//			System.out.println(bit1.rangeSum(map.get(value), map.get(value)));
//			System.out.println(bit2.rangeSum(map.get(value), map.get(value)));
		}

//		System.out.println(res);
		System.out.println(res1);
	}
	static class BIT {
		int size;
		long[] table;
		public BIT(int size) {
			this.size = size;
			table = new long[size];
		}
		void update(int i, long delta) {
			while(i < size) {
				table[i]+=delta;
				i+=Integer.lowestOneBit(i);
			}
		}
		long sum(int i) { // sums [1, i]
			long sum = 0; // okay, im officially a retarded retard
			while(i > 0) {
				sum+=table[i];
				i-=Integer.lowestOneBit(i);
			}
			return sum;
		}
		long rangeSum(int i, int j) { // sum [i, j]
			return sum(j) - sum(i-1);
		}
	}
	static void makeTestCase() {
		int n = (int) (Math.random()*500);
		System.out.println(n);
		for(int i = 0 ; i < n ; i++)
			System.out.print(((int)(Math.random()*10000000)) + " ");
	}
	static void BruteForce(int n, int[] a) {
		long res = 0;
		for(int i = 0 ; i < n ; i++) {
			for(int j = 0 ; j < i ; j++) {
				res+=d(a[j], a[i]);
			}
		}
		System.out.println(res);
	}
	static long d(int x, int y) {
		if(Math.abs(x-y) <= 1)
			return 0;
		return y-x;
	}
}
/*

Randomly Generated Test Cases:

456
9704138 5735653 695041 8760051 1605048 8641942 7882523 5279813 3999587 5254414 6188862 5788588 740777 1022103 2755853 9259156 2985398 9256632 9212730 5463878 9394613 7659506 3774374 8573409 3575880 2905282 2278965 4382734 8356320 1027523 3619495 7158501 784310 8551672 5736425 1955106 1375249 4328777 9364190 913024 6049055 4846243 8062113 7531402 9451114 6426562 4710712 1197917 3905026 6172246 6617256 5362442 9114643 9774923 3649811 6657079 3914537 8378867 6406932 8993612 2862161 8573954 4330524 6210470 7271626 9290340 6882293 9194796 2408156 6876880 4429604 8571247 9993893 4967632 9324452 2027628 7919916 8875479 1809634 6138533 7115932 5199251 9849108 6151638 8898269 6090418 6754917 3617331 4798413 4197745 5570946 970857 4868514 8693050 4574165 4217200 9766870 4978444 3966903 9722427 6545592 685254 9859097 8781208 7994266 8397030 7977341 4108805 637560 1163863 6187957 5696758 7041400 322466 1884197 9575096 3951437 6396247 7563067 1939832 8969205 2921878 5505183 2833098 4965479 9933621 371427 8104220 3237013 8533929 6743075 5733609 3531947 488634 7157467 2767302 1500844 7107259 5029174 2088565 1874432 9803801 5996989 4043928 8725782 680554 700000 6544570 2543795 5237345 1761360 8679989 7526496 880797 7846263 7109381 1496792 4293004 8061043 1537208 5149982 7916277 673195 5432904 6961441 820375 1157495 820733 5014568 2040906 5911301 1444277 7253187 5112351 9632520 6901097 7219268 966417 6316574 1446590 3205952 2626214 6104134 5082092 4937525 9198993 2799264 1270807 3382097 8554951 9777991 5166130 6109421 7776906 5220243 8590465 2725389 7975348 1123451 3168660 2346412 5385714 4394033 998684 7821020 3799430 2463342 3033183 9462649 4327584 337568 8949089 4426747 7255814 766478 8698450 6546946 7321306 4303739 5162172 5439204 8127519 1432005 9369388 2989460 3609555 4638796 4598672 9959469 4472825 4354623 3343331 5377155 5349969 9002667 1601544 6621929 4055708 6059760 8243105 8672086 7766603 7991246 3308058 6850514 2212452 4197751 8008537 8586599 9038319 7699730 933606 6206364 3380962 3186091 9497955 4569481 8400678 1266055 3028780 4490988 6019372 2288821 4051228 5317139 3437897 1933495 7311273 7768979 3140496 9922111 1865922 1223871 41432 2671495 174174 7974346 3188676 475096 9538127 685275 1011747 9893784 5472218 8264525 8485618 2435045 3619515 9668878 1779834 1312850 6687553 4786143 971742 9105901 5542205 6466042 4225050 469824 9076581 8016572 7469635 5709278 5762982 6039196 2065829 2978847 899448 9345362 9196165 9156959 7478439 878477 3799827 2024971 5333734 1059607 2749808 9283967 2762607 7781832 1670076 3154665 7173908 397293 2299760 2831275 6478630 2472638 7633697 897989 918118 832708 5203392 3967208 5816052 6468917 9809740 2261491 9343865 6257976 5778616 7636599 5805277 3118193 5382708 4630896 4174136 6224760 4457717 4526776 3660766 2212068 8438344 8122649 2935557 2910218 2049220 8939430 7304526 5094566 3708217 4923369 8610112 2971254 1334347 3357422 5921465 4678321 9699694 656287 1182021 9951154 724639 5995607 2898168 7282654 7187845 5313716 2681308 5402633 7207290 124728 3996659 5707624 1545854 3794630 9825642 9391390 8304770 6457442 6114710 5458094 9890487 8586405 862009 3544209 5275282 2385537 4484259 8531891 6519193 9629788 5709768 2305689 2280645 4357424 8659504 1686106 2615387 8906158 1006669 567640 8748122 2184930 146230 8595619 8698489 9786136 4159383 8335237 4652806 6568490 7023936 7817886 795274 3678611 3000115 5593968 947077 3629779 3412319 978070 3809099 9019248 150851 3041460 9863737 2740850 4133684 8088571 8063565 137530 3696820 6848224 2319348 6438854 7422838 9417014 7497189 6041404 8270713 8111408 2144362 3715378 1036033 

5
4280175 1625423 45756 9452769 4360902 

5
5 3 1 9 7


60
7860625 6893011 9713783 3367339 488565 4091951 9433950 9644972 9706218 6367578 6007362 1522638 7277936 4494250 1790704 7041252 9551891 4251595 5903703 7811807 3301032 9438445 8229230 6154228 2616900 774607 4512803 2151304 9529956 5954451 1060336 27207 4633589 9485448 6292742 8035462 404957 9626385 2988259 1129146 9144383 3734188 9428128 1086452 9495987 2634875 9858552 4477688 365795 9253318 4691566 4885135 8719555 6668146 8689790 2125096 8221014 6002240 1014733 7871859 

 */