#include using namespace std; long max(vector a) { long max = a[0]; for(long i=0;i& arr){ if(n==1) return 1; long max = INT_MIN; int c = 0; for(long i=2;i<=n;i++){ if(n%i == 0){ long x = n/i; if(arr[x] !=-1) c = 1+i*arr[x]; else c = 1+i*fun(n/i,arr); if(max < c) max = c; } } return (arr[n] = max); } long longestSequence(vector a) { long m = max(a); vector arr(m+1,-1); long ans = 0; for(int i=0;i> n; vector a(n); for(int a_i = 0; a_i < n; a_i++){ cin >> a[a_i]; } long result = longestSequence(a); cout << result << endl; return 0; }