#include <bits/stdc++.h>
using namespace std;
long long power(long long a, long long b) {
  long long x = 1, y = a;
  while (b > 0) {
    if (b % 2) {
      x = (x * y) % 1000000007;
    }
    y = (y * y) % 1000000007;
    b /= 2;
  }
  return x % 1000000007;
}
int main() {
  ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  long long int t = 1, n, m, i, j, k, sum = 0;
  while (t--) {
    cin >> n;
    vector<long long int> v(n);
    for (i = 0; i < n; i++) cin >> v[i];
    sort((v).begin(), (v).end());
    for (i = 1; i < n; i++) {
      v[i] += v[i - 1];
    }
    for (i = 1; i < n; i++) {
      sum = (sum + (power(2, i - 1) *
                    ((v[n - 1] - v[i - 1] - v[n - i - 1]) % 1000000007)) %
                       1000000007) %
            1000000007;
      sum = sum % 1000000007;
    }
    cout << sum;
  }
  return 0;
}
