#include<bits/stdc++.h> using namespace std; #define INT __int128 #define ll long long #define pii pair<int,int> #define pll pair<long long,long long> #define cst const #define u_mp unordered_map #define u_st unordered_set #define prio_q priority_queue #define fastrd ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); #define rep(i,a,b,c) for(i=a;i<=b;i+=c) #define arep(i,a,b,c) for(i=a;i>=b;i-=c) #define pb push_back cst int INFi=0x3f3f3f3f; cst ll INFl=0x3f3f3f3f3f3f3f3f; cst INT INFI=0x3f3f3f3f3f3f3f3f; template<class T> T read(){ char c; bool flag=0; while(c<'0'||c>'9'){ c=getchar(); if(c=='-'){ flag=1; } } T a=0; while(isdigit(c)){ a=a*10+(c-'0'); c=getchar(); } if(flag){ a=-a; } return a; } template<class T> void print(T a){ if(a<0){ putchar('-'); a=-a; } if(a>9){ print(a/10); } putchar((char)((a%10)+'0')); } template<class T> void v_clear(vector<T>& ve){ vector<T>no; swap(ve,no); } template<class T> void us_clear(u_st<T>& ve){ u_st<T>no; swap(ve,no); } template<class T,class T1> void um_clear(u_mp<T,T1>& ve){ u_mp<T,T1>no; swap(ve,no); } template<class T,class T1,class T2> T qmax(T1 a,T2 b){ return (a>b?a:b); } template<class T,class T1,class T2> T qmin(T1 a,T2 b){ return (a<b?a:b); } prio_q<int,vector<int>,less<int> >pq; ll ans=0; int n; int main(){ fastrd cin>>n; for(int i=1;i<=n;i++){ int a; cin>>a; pq.push(a); } while(n--){ ans+=pq.top(); pq.pop(); prio_q<int,vector<int>,less<int> >pq2; while(!pq.empty()){ pq2.push((int)(sqrt(pq.top()))); pq.pop(); } swap(pq2,pq); } cout<<ans; return 0; }