#include #include #include #include #define INF LONG_LONG_MAX #define pb push_back #define mp make_pair #define MAXN 1000009 #define MOD 1000000007 #define MAX(a,b) (((a)>(b))?(a):(b)) #define MIN(a,b) (((a)<(b))?(a):(b)) #define left(x) x<<1 #define right(x) (x<<1)|1 #define PI acos(-1.0) using namespace std; using namespace __gnu_pbds; typedef long long ll; typedef vector vi; typedef vector vvi; typedef pair ii; typedef vector vii; typedef map msi; typedef set si; typedef tree,rb_tree_tag,tree_order_statistics_node_update> ordered_set; typedef tree,rb_tree_tag,tree_order_statistics_node_update> ordered_multiset; //store {element,id} in pair ll prime[1000005]; vi pr; void sieve(){ prime[1]=1; for(ll i=2;i<=1000000;++i){ if(prime[i]==0){ pr.pb(i); for(ll j=i;j<=1000000;j+=i){ if(prime[j]==0) prime[j]=i; } } } } ll factor(ll a){ if(a<=1000000) return prime[a]; for(ll j=0;j1){ sum+=a; a/=factor(a); } return sum; } int main(){ int T=1; ll ans=0; sieve(); scanf("%d",&T); for(int i=1;i<=T;++i){ ll a; cin>>a; ans+=solve(a); } cout<