#include #include #include #include #include #include #include long int longestSequence(int a_size, long int* a) { // Return the length of the longest possible sequence of moves. long int res = 0; long int n; int i; for( i = 0; i < a_size; i++ ) { n = a[i]; while( 1 ) { if( n % 2 == 1 ) { if( n == 1 ) { res = res + 1; break; } else { res = res + n + 1; break; } } else { res = res + n; n = n / 2; } } } return res; } int main() { int n; scanf("%i", &n); long int *a = malloc(sizeof(long int) * n); for (int a_i = 0; a_i < n; a_i++) { scanf("%li",&a[a_i]); } long int result = longestSequence(n, a); printf("%ld\n", result); return 0; }