#include<bits/stdc++.h>
using namespace std;
const int M = 1e9+7;

long long pwr( long long a , long long b , long long m = M ){
	
	long long ret = 1;
	a %= m , b %= m;

	while( b>0 ){
		if(b&1)	ret = ret*a % m;
		a = a*a % m;
		b >>= 1;
	}

	return ret;
}

int main(){

	ios_base::sync_with_stdio(0);
	cout.tie(0);
	cin.tie(0);

	int n;
	cin>>n;

	long long fac=1;	
	vector<int> pre(n+5,0);
	for(int i=1 ; i<n ; ++i){
		pre[i] = ( pre[i-1] + pwr(i,M-2) ) % M;
		fac = fac * i % M;
	}

	long long ans=0;
	vector<int> a(n);

	for(int i=0 ; i<n ; ++i){
		cin>>a[i];
		if(i)	ans = ( ans + 1l*(a[i]-a[i-1])*pre[i] % M ) % M;
	}

	ans = ans * fac % M;
	cout<< ans ;
}

