p=print n=int(input()) b=[int(input()) for _ in[0]*n] i=m=0 a=[1]*(n+1) while i=a[i+1]or a[i+1]>10**18:a[0]+=-a[i+1]+1;i=-1;m+=1 if m==10:break i+=1 if 0>=a[0]or m==10:p(-1);exit() p(n+1) for _ in a:p(_)