#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

typedef long long ll;

const ll mod = 1e9 + 7;
ll n;
ll fac[100005];
ll rfac[100005];
ll ans;
ll x[100005];
ll f(ll a, ll x) {
  ll res = 1;
  while(x > 0) {
    if(x & 1) res = res * a % mod;
    a = a * a % mod;
    x >>= 1;
  }
  return res;
}

int main() {
  cin >> n;

  for(int i = 0; i < n; i++) cin >> x[i];

  fac[0] = 1;
  
  for(ll i = 1; i <= n; i++) {
    fac[i] = fac[i-1] * i % mod;
  }
  for(ll i = 1; i <= n; i++) rfac[i] = f(i,mod-2);
  ll tmp = 0;
  
  for(ll i = 1; i < n; i++) {
    tmp += fac[n-1] * rfac[i] % mod;
    tmp %= mod;
    ans = (ans + tmp * (x[i] - x[i-1]) % mod) % mod;
  }
   
    // cout << fac[n-1] * rfac[i] % mod << endl;
  

  cout << ans << endl;
			       

  
}
