#include #include #include #include #include #include using namespace std; int countDivisors(long long n, unordered_map& m) { if(n<=1) return 0; if(m.find(n) != m.end()) return m[n]; int maxcount = 0; for(int i=2; i<=n;i++){ if(n % i == 0) {int c = 1 + i*countDivisors(n/i, m); if(c > maxcount) maxcount = c; } } m[n] = maxcount; return maxcount; } int main() { int n; cin >> n; vector a(n); for (int i = 0; i < n; i++) { cin >> a[i]; } long long sum = 0; unordered_map m; for(int i=0; i