public class fentang {
static boolean su(int a[],int n){
for(int i=2;i<=n;i++){
if(a[i-1]!=a[i]){
return false;
}
else {
continue;
}
}
return true;
}
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int a[]=new int[100];
int n=input.nextInt();
int temp=0;
int count=0;
for(int i=1;i<=n;i++){
a[i]=input.nextInt();
}
while (!su(a, n)) {
for(int i=1;i<=n;i++){
if(i==1){
temp=a[i]/2;
a[i]-=temp;
}
else{
a[i-1]+=a[i]/2;
a[i]-=a[i]/2;
}
}
a[n]+=temp;
for(int i=1;i<=n;i++){
if(a[i]%2==1){
a[i]+=1;
count++;
}
}
if(su(a, n)){
break;
}
}
System.out.println(count);
}
}
static boolean su(int a[],int n){
for(int i=2;i<=n;i++){
if(a[i-1]!=a[i]){
return false;
}
else {
continue;
}
}
return true;
}
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int a[]=new int[100];
int n=input.nextInt();
int temp=0;
int count=0;
for(int i=1;i<=n;i++){
a[i]=input.nextInt();
}
while (!su(a, n)) {
for(int i=1;i<=n;i++){
if(i==1){
temp=a[i]/2;
a[i]-=temp;
}
else{
a[i-1]+=a[i]/2;
a[i]-=a[i]/2;
}
}
a[n]+=temp;
for(int i=1;i<=n;i++){
if(a[i]%2==1){
a[i]+=1;
count++;
}
}
if(su(a, n)){
break;
}
}
System.out.println(count);
}
}