def f(N,L,i=0):
if`N`<":":return L[i],i+1
X=[]
for n in N:M,i=f(n,L,i);X+=[M]
return X,i
g=lambda N,L:f(N,L)[0]
print(g([0,[1,[]],[[]],[2,3],[]], [1,6,1,8]))
ZGVmIGYoTixMLGk9MCk6CiBpZmBOYDwiOiI6cmV0dXJuIExbaV0saSsxCiBYPVtdCiBmb3IgbiBpbiBOOk0saT1mKG4sTCxpKTtYKz1bTV0KIHJldHVybiBYLGkKZz1sYW1iZGEgTixMOmYoTixMKVswXQoKcHJpbnQoZyhbMCxbMSxbXV0sW1tdXSxbMiwzXSxbXV0sIFsxLDYsMSw4XSkp