#include <stdio.h>

int main() {
    int n,a;
    int ln=0;
    scanf("%d",&n);
    int l[n];//深さnの葉の数
    l[0]=1;
    for(int i=0;i<=n;i++){
        scanf("%d",&a);
        if(a==0){
            l[i+1]=2*l[i];
        }else{
            l[i+1]=2*(l[i]-a);
        }
    }
    for(int i=0;i<=n;i++){
        if(l[i]<=0){
            ln=-1;
            break;
        }else{
            ln=ln+l[i];
        }
    }
    if(ln<=0){
        printf("-1");
    }else{
        printf("%d\n",ln);
    }
    for(int i=0;i<=n;i++){
        printf("l[%d]=%d\n",n,l[i]);
    }
    
    return 0;
}
