$N=<>; / /,++$_[$`],++$_[$'],push@{$`},$'+!push@{$'+0},$`for<>; @q=(1,grep!($L[$_]=$_[$_]-1&&$N),2..$N); push@q,grep{$L[$_]-=$-=$L[$_]-$L[$q]-1;$-}@$q while$q=shift@q; print$_,$/for@L[1..$N]