#include #include #include #include #include using namespace std; int iseven(int a) { if(a%2==0) return 1; return 0; } int isodd(int b) { if(b%2!=0) return 1; else return 0; } int isprime(int c) { if(c==2) return 1; for(int k=2;k> n; long long middle=1,moves=0; int count=1; vector a(n); for (int i = 0; i < n; i++) { cin >> a[i]; long long val=a[i]; moves+=val; while(val>1) { if(isprime(val)) { if(count==1) { ++count; moves+=1; } else if(count>1) { moves+=middle; } val=1; } else if(iseven(val)) { int i=2,temp=0; if(val/i>2) { if(val%i==0) temp=i; i=i+2; } if(count==1) { ++count; moves=moves+1; middle=val/temp; } else if(count>1) { moves+=middle; middle=val/temp; } val=val/temp; } else if(isodd(val)) { int i=2,temp=0; if(val/i>3) { if(val%i==0) temp=i; i=i+2; } if(count==1) { ++count; moves=moves+1; middle=val/temp; } else if(count>1) { moves+=middle; middle=val/temp; } val=val/temp; } } } cout<