//Codeforcesで128bit整数を使いたいとき
//→__int128_tを使う&GNU C++17 (64)で提出する

//インクルードなど
#include <iostream> // cout, endl, cin
// string, to_string, stoi
#include <vector> // vector
#include <algorithm> // min, max, swap, sort, reverse, lower_bound, upper_bound
#include <utility> // pair, make_pair
#include <tuple> // tuple, make_tuple
#include <cstdint> // int64_t, int*_t
#include <cstdio> // printf
#include <map> // map
#include <queue> // queue, priority_queue
#include <set> // set
#include <stack> // stack
#include <deque> // deque
#include <unordered_map> // unordered_map
#include <unordered_set> // unordered_set
#include <bitset> // bitset
#include <cctype> // isupper, islower, isdigit, toupper, tolower

#include <string> 
using namespace std;
typedef long long ll;

//イテレーション
#define REP(i,n) for(ll i=0;i<ll(n);i++)
#define REPD(i,n) for(ll i=n-1;i>=0;i--)
#define FOR(i,a,b) for(ll i=a;i<=ll(b);i++)
#define FORD(i,a,b) for(ll i=a;i>=ll(b);i--)
#define FORA(i,I) for(const auto& i:I)
//x:コンテナ
#define ALL(x) x.begin(),x.end() 
#define SIZE(x) ll(x.size()) 
//定数
#define INF32 2147483647 //2.147483647×10^{9}:32bit整数のinf
#define INF64 9223372036854775807 //9.223372036854775807×10^{18}:64bit整数のinf
#define MOD 998244353 //問題による
//略記
#define F first
#define S second
//出力(空白区切りで昇順に)
#define coutALL(x) for(auto i=x.begin();i!=--x.end();i++)cout<<*i<<" ";cout<<*--x.end();
#define coutall(x) {for(int i=0;i<sizeof(x)/sizeof(x[0]);i++){cout<<x[i]<<"|";};};cout;
//aをbで割る時の繰上げ,繰り下げ
ll myceil(ll a,ll b){return (a+(b-1))/b;}
ll myfloor(ll a,ll b){return a/b;}


ll nCr(ll n, ll r) {
    ll ans = 1;
    for (ll i = n; i > n - r; --i) {
        ans = ans*i;
    }
    for (ll i = 1 ; i < r + 1; ++i) {
        ans = ans / i;
    }
    return ans;
}

ll f(ll &k,ll &m,ll x){
    FORD(i,m,0){
        k-=nCr(m-i+x-1,m-i);
        if(k<0){k+=nCr(m-i+x-1,x-1)
        ;m-=i;return i;};
    
    };
    return 0;
}
signed main(){
    ll n;cin>>n;
    vector<ll> M(n+1,0),A(n+1,0);
    ll x,m=0;
    REP(i,n){
        cin>>x;
        m+=x;
        A[i+1]=A[i]+m;
        M[i+1]=max(M[i],x);
    };
    REP(i,n){
        cout<<A[i+1]+M[i+1]*(1+i)<<endl;
    }
}

/**So..a**/
#include<bits/stdc++.h>
using namespace std;
#define FAST ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define ll long long int
#define B_ begin()
#define E_ end()
#define all(a) a.begin(), a.end()
#define NL_ "\n"
#define F first
#define S second
#define FF first.first
#define FS first.second
#define SF second.first
#define SS second.second
#define __lcm(a, b) (a/__gcd(a, b)*b)

#define PI acos(-1)
#define EXP 10e-6
#define what_is(x) cerr << #x << " is " << x << endl;

template<typename item>
item abs(item i)
{
    if(i < 0) i= -i;
    return i;
}
ll mod = 1000000000+7;
template<class typea>
typea POW(typea b, typea p)
{
    typea res = 1;
    while(p)
    {
        if(p&1)
        {
            res*=b;
            res%=mod;
        }
        b*=b;
        b%=mod;


        p/=2;
    }
    return res;
}

int  tc =0;
#define ull unsigned long long int

#define maxn 2*100000+10
ll arr[maxn], sum[maxn], n;

int main()
{
    cin >> n;
    for(ll i=1; i<=n; i++) cin >> arr[i];
    for(ll i=1; i<=n; i++) sum[i] = arr[i]+sum[i-1];
    for(ll i= 2; i<=n; i++) sum[i]+=sum[i-1];
    ll mx =0;
    for(ll i=1; i<=n; i++)
    {
        mx = max(mx, arr[i]);
        cout<< sum[i]+(i*mx)<<NL_;
    }

}
