#include #include #include #include #include using namespace std; long long int ans(long long int n); map m; int main(){ m[1]=1; int n; cin>>n; long long int sum=0,a; while(n--){ cin>>a; if(!m.count(a)) sum+=ans(a); else sum+=m[a]; } cout< divisors; for(long long int i=1;i*i<=n;i++){ if(n%i==0){ divisors.push_back(i); if(i*i!=n) divisors.push_back(n/i); } } sort(divisors.begin(),divisors.end()); memo[0]=1; for(long long int i=1;imemo[i]) memo[i]=1+a; } } m[divisors[i]]=memo[i]; } return memo[divisors.size()-1]; }