#include using namespace std; long facto(long X){ long int M=sqrt(X)+1; long sum1=1, temp; int multi, flag=0; while(X>1){ // printf("Control@1\n"); for ( int i = 2; i <= M; ++i) { // printf("Control@5 and value of X is %d and i is %d\n",X, i ); if(X%i==0){ multi=i; flag=1; // printf("Prime number hit at %d\n", i ); break; } } //printf("Control@2\n"); if(flag!=1){ sum1+=X; // printf("Control@4\n"); break; } //printf("Control@3\n"); X/=multi; //printf("The factor %d and number %d\n",multi, X); sum1+=X*multi; //printf("Sum after pass is: %d\n", sum1); } return sum1; } long longestSequence(vector a, int N) { long long sum=0; for(int i = 0; i < N; i++){ long X=a[i]; sum+=facto(X); //sum+=A; // cout<<"The ans for num "<> N; vector a(N); for(int a_i = 0; a_i < N; a_i++){ cin >> a[a_i]; } long result = longestSequence(a, N); cout << result << endl; return 0; }