#include <iostream>
#include <queue>
using namespace std;
typedef long long ll;
int main()
{
int n;
while(cin>>n)
{
priority_queue<ll, vector<ll>, greater<ll> >q;
for(int i=1; i<=n; i++)
{ ll t;
cin>>t;
q.push(t);
}
ll ans=0;
while(q.size()>=2)
{
ll a=q.top();
q.pop();
ll b=q.top();
q.pop();
q.push(a+b);
ans=(ans+a+b)%1000000007;
}
cout<<ans<<endl;
}
return 0;
}