#include <bits/stdc++.h>
using namespace std;
long long n,ans=0;
long long a[100005];
struct node{
	int k,sum;
};
int main(){
	cin>>n;
	int num=0;
	node maxn={0,-1};
	for(int i=1;i<=n;i++){
		cin>>a[i];
//		ma.sum=max(a[i],ma.sun);
		if(maxn.sum<a[i]){
			maxn.sum=a[i];
			maxn.k=i;
		}
	}
//	ans+=a[ma.k];
//	a[ma.k]=-1;
//	num++;
//	node maxn={-1,-1};
	for(int i=1;i<=n;i++){
		ans+=maxn.sum;
		cout<<ans<<endl;
		a[maxn.k]=-1;
		maxn.sum=-1;
		for(int i=1;i<=n;i++){
			cout<<a[i]<<" "<<ans<<endl;
			if(a[i]==-1) continue;
			a[i]=(int)sqrt(a[i]);
			if(maxn.sum<a[i]){
				maxn.sum=a[i];
				maxn.k=i;
			}
		}
	}
	cout<<ans<<endl;
	return 0;
}