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

int main() {
  int64_t N,Q=1000000007,T=1;
  cin>>N;
  for(int64_t i=1;i<N;i++){
    T*=i;
    T%=Q;
  }
  vector<int64_t> C(N,T);
  for(int64_t i=1;i<N;i++){
    int64_t N=Q-2; //ここから
       int64_t a=1,b=0,c=1;
       while(N>0){
         a*=2;
         if(N%a!=0){
           N-=a/2;
           int64_t d=i;
           for(int j=0;j<b;j++){
            d=d*d;
             d=d%Q;
          }
           c=c*d;
          c=c%Q;
         }
        b++;
      } //ここまで
    C[i]=(C[i]*c)%Q;
  }
  vector<int64_t> p(N);
  for(int i=0;i<N;i++){
    cin>>p[i];
  }
  vector<int64_t> q(N-1);
  for(int i=1;i<N;i++){
    q[i-1]=p[i]-p[i-1];
  }
  int64_t Z=0,A=0;
  for(int i=0;i<N-1;i++){
    A+=C[1+i];
    A%=Q;
    Z+=A*q[i];
    Z%=Q;
  }
  cout<<Z<<endl;
}