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

#define rep(i, a, b) for(int i = a; i < (b); ++i)
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;

const ll MOD = 1e9 + 7;
const int MX = 1e5 + 5;

int n;
ll ans;

ll mexp(ll a, ll b) {
	ll res = 1;
	a %= MOD;
	while (b > 0) {
		if (b & 1) {
			res = res * a % MOD;
		}
		a = a * a % MOD;
		b >>= 1;
	}
	return res;
}


int main() {
	cin.tie(0)->sync_with_stdio(0);
	cin >> n;
	vector<ll> a(n);
	for (auto& i : a) cin >> i;
	ll factor = 0;
	rep(i, 1, n) {
		factor += mexp(i, MOD - 2);
		factor %= MOD;
		ans += factor * (a[i] - a[i - 1]);
		ans %= MOD;
	}
	
	rep(i, 1, n) {
		ans = ans * i % MOD;
	}
	cout <<  ans;
}
