#include <bits/stdc++.h>
using namespace std;
long long waru = 1000000000 + 7;
long long N;
int main() {
  cin >> N;
  long long b = 1;
  for (int i = 1; i < N; i++) b *= i;
  vector<long long> x(N);
  vector<long long> p(N - 1);
  for (int i = 0; i < N - 1; i++) {
    if (i == 0)
      p.at(i) = b;
    else
      p.at(i) = b / (i + 1) + p.at(i - 1);
  }
  for (int i = 0; i < N; i++) cin >> x.at(i);
  vector<long long> dis(N - 1);
  for (int i = 0; i < N - 1; i++) dis.at(i) = x.at(i + 1) - x.at(i);
  long long sum = 0;
  for (int i = 0; i < N - 1; i++) {
    sum += dis.at(i) * p.at(i);
  }
  cout << sum % waru << endl;
}
