import math
from itertools import permutations
n = int(input())
x = list(map(int, input().split()))

#print(math.factorial(n-1))
#print(10**9 + 7)

# 初期化
sum_d = 0
mod = 10**9 + 7
# indexの順列を生成
seq = (i for i in range(n-1))
juns = list(permutations(seq))
#print(jun)
#print(num_l)

# 移動距離の総和の計算
for jun in juns:
  num_l = set(i for i in range(n))
  #print("junretsu={}".format(jun))
  d = 0
  for k in jun:
    #print("k={}".format(k))
    tmp = 1
    while(not(k+tmp in num_l)):
      #print("{}+{} in {}??".format(k, tmp, num_l))
      #print(k+tmp in num_l)
      tmp += 1
      # 直近のkの右隣を探す 
    d += (x[k+tmp] - x[k]) % mod
    #print("d={}".format(d))
    num_l.remove(k)
    #print("num_l={}".format(num_l))
    #print("--")
  sum_d += d
  #print("----")
print(sum_d)
#print(n)
#print(x)
