#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define all(x) (x).begin(),(x).end()
const int mod=1000000007,MAX=200005,INF=1<<30;

ll rui(ll a,ll b){
    ll ans=1;
    while(b>0){
        if(b&1) ans=ans*a%mod;
        a=a*a%mod;
        b/=2;
    }
    return ans;
}

ll fac[MAX];

int main(){
    
    std::ifstream in("text.txt");
    std::cin.rdbuf(in.rdbuf());
    cin.tie(0);
    ios::sync_with_stdio(false);
    
    int N;cin>>N;
    vector<ll> X(N);
    for(int i=0;i<N;i++) cin>>X[i];
    
    fac[0]=1;
    fac[1]=1;
    for(ll i=2;i<MAX;i++){
        fac[i]=fac[i-1]*i;
        fac[i]%=mod;
    }
    
    ll p=1;
    ll sum=0;
    for(int i=1;i<N;i++){
        sum+=(X[i]-X[i-1])*p;
        sum%=mod;
        p+=rui(i+1,mod-2);
        p%=mod;
    }
    
    sum*=fac[N-1];
    sum%=mod;
    
    cout<<sum<<endl;
}

