#include <bits/stdc++.h>
using namespace std;
long long int mod = 1e9 + 7;
long long int kaijou(long long int n) {
  long long int ans = 1;
  for (int i = 0; i < n; ++i) {
    ans *= (i + 1) % mod;
    ans %= mod;
  }
  return ans % mod;
}
long long int hs(long long int n, long long int x) {
  long long int ans = 0;
  for (int i = 0; i < n; ++i) {
    ans += (kaijou(x - 1) % mod / (i + 1) % mod) % mod;
  };
  return ans % mod;
}
int main() {
  long long int n;
  cin >> n;
  vector<long long int> x(n);
  long long int ans = 0;
  for (int i = 0; i < n; ++i) {
    cin >> x[i];
  }
  vector<long long int> HS(n + 5);
  for (int i = 0; i + 1 < n; ++i) {
    HS[i + 1] = hs(i + 1, n) % mod;
  }
  for (int i = 0; i + 1 < n; ++i) {
    ans += (HS[i + 1] * abs(x[i] - x[i + 1]) % mod) % mod;
  }
  cout << ans % mod << endl;
}
