#include <bits/stdc++.h>
using namespace std;
int n;
int MAX_N = 100000;
long long x[100000];
long long p = 1000000000 + 7;
void solve();
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%ld", &x[i]);
  }
  solve();
  return 0;
}
void solve() {
  long long ans = 0;
  long long tmp = 0;
  long long n_kai = 1;
  for (int i = 1; i < n; i++) {
    n_kai *= i;
    n_kai = n_kai;
  }
  for (int i = 0; i < n - 1; i++) {
    tmp += (n_kai / (i + 1)) % p;
    long long sub = x[i + 1] - x[i];
    sub = sub % p;
    ans += (tmp * sub) % p;
    ans = ans % p;
  }
  ans = ans % p;
  printf("%ld\n", ans);
}
