#include #include #include #include #include #include #include long int longestSequence(int a_size, long int* a) { // Return the length of the longest possible sequence of moves. long int temp,i=0,div=2,count=0; for(i = 0;i < a_size;i++) { temp = a[i]; count += temp; div=2; while(temp > 1) { if((temp % div) == 0) { temp = temp/div; count += temp; } else div++; } } return count; } int main() { int n; scanf("%i", &n); long int *a = malloc(sizeof(long int) * n); for (int a_i = 0; a_i < n; a_i++) { scanf("%li",&a[a_i]); } long int result = longestSequence(n, a); printf("%ld\n", result); return 0; }