#include #include #include #include #include #include #include int main() { int n; scanf("%i", &n); long int max = 0; // memset(arr, 0, n*sizeof(arr)); // arr[3] = 4; long int *a = malloc(sizeof(long int) * n); for (int a_i = 0; a_i < n; a_i++) { scanf("%li",&a[a_i]); if(a[a_i] > max ) max = a[a_i]; } // printf("max = %ld\n", max); long int arr[max+1]; arr[0] = 0; arr[1] = 1; if(max >= 3) { arr[2] = 3; arr[3] = 4; } else if(max >= 2) arr[2] = 3; int set = 0; for(int i = 4; i <= max ; i++) { for(int j = 2; j<= i/2; j++) { if(i % j == 0) { arr[i] = 1 + i/j *arr[j]; set = 1; break; } } if(set == 0) arr[i] = 1 + i; set =0; } long int sum = 0; for(int i =0; i