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

typedef long long ll;
const int mod=1000000007;

ll qpow(ll a,ll n){
    ll res=1;
    while(n){
        if(n&1)res=res*a%mod;
        a=a*a%mod;
        n>>=1;
    }
    return res;
}

int n;
int x[100005];
ll pre[100005];
ll ans,mul;

int main(){

    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);

    cin>>n;
    mul=1;for(int i=2;i<n;i++)mul=mul*i%mod;
    for(int i=1;i<=n;i++){
        cin>>x[i];
        pre[i]=(pre[i-1]+mul*qpow(i,mod-2)%mod)%mod;
    }
    for(int i=1;i<n;i++){
        ans=(ans+(x[i+1]-x[i])*pre[i]%mod)%mod;
    }
    cout<<ans<<endl;

    return 0;
}