p=print n=int(input()) b=[int(input())for _ in[0]*n] i=m=-1 a=[1]*-~n 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 if 0>=a[0]or m==10:p(-1);exit() p(n+1) for _ in a:p(_)