#include<bits/stdc++.h>
#define int long long
using namespace std;
constexpr int mod=1e9+7;
int fact_arr[100000];
int fact(int n){
    if(fact_arr[n]!=0)
        return fact_arr[n];
    if(n==0)
        return fact_arr[n]=1;
    return fact_arr[n]=fact(n-1)*n%mod;
}
int pow(int x,int n){
    int ret=1;
    while(n){
        if(n&1)
            (ret*=x)%=mod;
        (x*=x)%=mod;
        n>>=1;
    }
    return ret;
}
int inv(int n){
    return pow(n,mod-2);
}
signed main(){
    int n,x[100000];
    cin>>n;
    for(int i=0;i<n;i++)
        cin>>x[i];
    int arr[99999];
    for(int i=0;i<n-1;i++)
        arr[i]=fact(n-1)*inv(i+1)%mod;
    for(int i=1;i<n-1;i++)
        (arr[i]+=arr[i-1])%=mod;
    int ans=0;
    for(int i=0;i<n-1;i++)
        (ans+=(x[i+1]-x[i])*arr[i])%=mod;
    cout<<ans<<endl;
}
