#include using namespace std; long subSequence(long a) { // Return the length of the longest possible sequence of moves. long enda = round(sqrt(a)); vector factor; for(long i=2; i<=enda&&a>1&&i1)factor.push_back(a); long result = 1; long cur = 1; for(int i=factor.size()-1; i>=0; --i){ cur *= factor[i]; result += cur; } return result; } long longestSequence(vector a) { // Return the length of the longest possible sequence of moves. long result = 0; for(auto aa : a){ result += subSequence(aa); } return result; } int main() { int n; cin >> 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; }