#include <bits/stdc++.h>
using namespace std;
long long const MOD = 1e9 + 7;
long long Factorial(int k) {
  long long sum = 1;
  for (int i = 1; i <= k; ++i) {
    sum *= i;
  }
  return sum;
}
int main() {
  int N;
  long long ans = 0;
  cin >> N;
  vector<int> A(N);
  vector<int> B(N - 1);
  long long sum = Factorial(N - 1);
  for (int i = 0; i < N; i++) cin >> A.at(i);
  for (int i = 0; i < N - 1; i++) B.at(i) = A.at(i + 1) - A.at(i);
  for (int i = 0; i < N - 1; i++) {
    if (i > 0) sum += (N - i - 1);
    ans += B.at(i) * sum;
    ans = ans % MOD;
  }
  cout << ans << endl;
}
