#include<bits/stdc++.h>
using namespace std;
const int mod=1000000007;
inline void Add(int &a,int b){a=a+b>=mod?a+b-mod:a+b;}
inline int ksm(int a,int b)
{
	int res=1;
	for(;b;b>>=1,a=1ll*a*a%mod) if(b&1) res=1ll*res*a%mod;
	return res;
}
int sum=0,n,a[100100],ans=0;
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++) scanf("%d",a+i);
	for(int i=2;i<=n;i++)
	{
		Add(sum,ksm(i-1,mod-2));
		Add(ans,1ll*sum*(a[i]-a[i-1])%mod);
	}
	for(int i=1;i<=n-1;i++) ans=1ll*ans*i%mod;
	cout<<ans<<endl;
}