import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { static long longestSequence(long[] a,int n) { // Return the length of the longest possible sequence of moves. long arr[]=new long[40]; arr[0]=1; long r[]=new long[40]; for(int i=1;i<40;i++){ arr[i]=arr[i-1]*2; r[i]=2*arr[i]-1; } long sum=0; for(int j=0;j0;i--){ if(aa%arr[i]==0){ long d=aa/arr[i]; if(d!=1){ sum=sum+d*r[i]+1; } else sum=sum+arr[i]; break; } } } else{ sum=sum+1+aa; } } return sum; } public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); long[] a = new long[n]; for(int a_i = 0; a_i < n; a_i++){ a[a_i] = in.nextLong(); } long result = longestSequence(a,n); System.out.println(result); in.close(); } }