#include <bits/stdc++.h>
using namespace std;

#define For(i,a,b) for(int (i) = (a);(i) < (b);i++)
#define Rep(i,n) For((i),0,(n))
#define All(a) (a).begin(),(a).end()
#define sp " "
#define INF 1e18
#define INT_INF 1e9

typedef long long ll;
const ll MOD = 1000000007;
const ll MOD_9 = 998244353;

int main(){
    ll N;
    cin >> N;
    ll bikkuri[N+1];
    bikkuri[0] = 1;
    ll x[N];
    ll d[N];
    ll t,ans;
    Rep(i,N){
        bikkuri[i+1] = bikkuri[i]*(i+1);
        bikkuri[i+1] %= MOD;
        cin >> x[i];
        if(i != 0)d[i-1] = x[i]-x[i-1];
    }
    t = 0;
    ans = 0;
    Rep(i,N-1){
        ans *= i+1;
        ans %= MOD;
        t = t*(i+1) + bikkuri[i];
        t %= MOD;
        ans += t*d[i];
        ans %= MOD;
        //cout << t << ans << endl;
    }
    cout << ans << endl;
    //cin >> N;
}