#include #include using namespace std; long sum_total = 0; void HelperFunctionOfLongestSequence(long val) { if(val == 1) { sum_total++; return; } bool isOdd = false; long keep_i = 0; for(long i=2;i a) { // Return the length of the longest possible sequence of moves. long sum = 0; for(auto i:a) { if(i == 1) { sum += 1; } else if(i % 2 != 0) { sum += (1 + i); } else { HelperFunctionOfLongestSequence(i); sum += sum_total; sum_total = 0; } } return sum; } 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; }