#include <bits/stdc++.h>
using namespace std;
int a[300009];
long long int poww[300009];
int main() {
  int n, i;
  cin >> n;
  poww[0] = 1;
  for (i = 1; i < n; i++) {
    poww[i] = (poww[i - 1] * 2) % 1000000007;
  }
  for (i = 0; i < n; i++) {
    cin >> a[i];
  }
  sort(a, a + n);
  long long int ans = 0;
  for (i = 1; i < n; i++) {
    long long int d = a[i] - a[i - 1];
    long long int add =
        (d * (poww[i] - 1) % 1000000007 * (poww[n - i] - 1)) % 1000000007;
    ans = (ans + add) % 1000000007;
  }
  cout << ans;
  return 0;
}
