#include #include #define MIN(a,b,c) min(min(a,b),c) #define MAX(a,b,c) max(max(a,b),c) #define ll long long #define itr vector::iterator #define pb push_back #define mp make_pair #define pii pair #define vi vector #define all(a) (a).begin(),(a).end() #define F first #define S second #define mem(a,b) memset(a,b,sizeof(a)) #define sz size() #define hell 1000000007 #define endl '\n' #define rep(i,a,b) for(i=a;i=b;i--) #define Vit std::vector:: iterator #define Sit std::set:: iterator #define Mit std::map:: iterator #define lb lower_bound #define ub upper_bound #define bs binary_search #define tr(container, it) for(typeof(container.begin()) it = container.begin(); it != container.end(); it++) using namespace std; long long p(long m) { if(m<=1)return 0; if(m<=3)return 1; if(m%2==0 || m%3==0)return 0; for(long long i=5;i*i<=m;i=i+6) { if(m%i==0 || m%(i+2) == 0)return 0; } return 1; } int main() { int n; cin >> n; long long a[n]; long long count=0; for (long long i = 0; i < n; i++) { cin >> a[i]; int k=p(a[i]); if(k==1) { count = count + a[i] + 1; a[i]=-111; } if(a[i]==1) { count++; a[i]=-999; } } for(long long i=0;i0){ while(a[i]!=0){ if(a[i]==1) { count++; a[i]=0; }else if(a[i]%2!=0) { long long k=p(a[i]); if(k==1){ count=count+a[i]+1; a[i]=0; } else{ long long r=0; for(long long j=3;j