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. 
#include <bits/stdc++.h>
using namespace std;
template <typename t>
t in(t q) {
  cin >> q;
  return q;
}
template <typename T>
ostream& operator<<(ostream& os, const vector<T>& v) {
  os << "[";
  for (int i = 0; i < ((int)size(v)); ++i) {
    os << v[i];
    if (i != ((int)size(v)) - 1) os << ",";
  }
  os << "]";
  return os;
}
template <typename T, typename S>
ostream& operator<<(ostream& os, const map<T, S>& v) {
  for (auto it : v) os << "(" << it.first << ":" << it.second << ")";
  return os;
}
template <typename T, typename S>
ostream& operator<<(ostream& os, const pair<T, S>& v) {
  os << "(";
  os << v.first << "," << v.second << ")";
  return os;
}
const double PI = acos(-1);
const int N = 200005;
const long long MOD = 1000000007l;
const int OO = (int)1e9;
long double a[N];
long double sum[N];
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout << setprecision(25);
  long double n;
  cin >> n;
  unordered_map<long double, int> s;
  long double ans = 0.0l;
  for (__typeof((int)n) i = (0) - ((0) > ((int)n));
       i != ((int)n) - ((0) > ((int)n)); i += 1 - 2 * ((0) > ((int)n))) {
    cin >> a[i];
  }
  for (__typeof(0) i = (n) - ((n) > (0)); i != (0) - ((n) > (0));
       i += 1 - 2 * ((n) > (0))) {
    ans += sum[i + 1] - (n - i - 1) * a[i];
    ans -= s[a[i] + 1];
    ans += s[a[i] - 1];
    sum[i] = sum[i + 1] + a[i];
    s[a[i]]++;
  }
  cout << ans;
  return 0;
}
