#include<bits/stdc++.h>
template <typename _Tp>void read(_Tp &x){
	char ch(getchar());bool f(false);while(!isdigit(ch))f|=ch==45,ch=getchar();
	x=ch&15,ch=getchar();while(isdigit(ch))x=x*10+(ch&15),ch=getchar();
	if(f)x=-x;
}
template <typename _Tp,typename... Args>void read(_Tp &t,Args &...args){read(t);read(args...);}
const int N=200005;
typedef long long ll;
int a[N];
int main(){
	int n;read(n);
	int mx=0;
	ll s=0,S=0;
	for(int i=1;i<=n;++i){
		read(a[i]),mx=std::max(a[i],mx);
		s+=a[i],S+=s;
		printf("%lld\n",S+1LL*i*mx);
	}
	return 0;
}
#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define all(v) begin(v), end(v)
using namespace std;
using P = pair<int,int>;
using ll = long long;
using vi = vector<int>;
using vll = vector<ll>;
using Graph = vector<vector<int>>;

ll ll_pow(ll a, ll n) {
  ll ans = 1;
  for(ll i = 0; i < n; i++) ans *= a;
  return ans;
}

vector<vector<int>> G;
bool temp[100001];
 
void dfs(int v){
  	if(temp[v]) return;
  	temp[v] = true;
  	for(auto vv:G[v]) dfs(vv);
}


int main() {
  double n;
   cin >> n;
  if(n*1.08 >= 206 && n*1.08 < 207) cout << "so-so" <<endl;
  else if(n*1.08 < 206) cout << "Yay!" <<endl;
  else cout <<":(" <<endl;
  return 0;
}
