#include <bits/stdc++.h>
using namespace std;
int modpow(long long a, long long n, long long mod) {
  long long res = 1;
  while (n > 0) {
    if (n & 1) res = res * a % mod;
    a = a * a % mod;
    n >>= 1;
  }
  return res;
}
int main() {
  int n;
  scanf("%d", &n);
  vector<int> x(n);
  for (int i = 0; i < (int)(n); i++) scanf("%d", &x[i]);
  int mod = 1e9 + 7;
  long long ans = 0;
  long long seg;
  long long tmp;
  for (int i = 0; i < (int)(n - 1); i++) {
    seg = (x[i + 1] - x[i] + mod) % mod;
    tmp = 1;
    for (int j = 1; j <= i + 1; j++) {
      tmp *= j;
      ans += seg * modpow(j, mod - 2, mod) % mod;
    }
  }
  int acc = 1;
  for (int i = 1; i < n; i++) {
    acc *= i;
    acc %= mod;
  }
  cout << (ans * acc) % mod << endl;
  return 0;
}
