你是一位来自“意大利卓越披萨大师赛”的记者,意大利最顶尖的 位披萨师傅刚刚在这里比拼,决出谁才是最好的披萨大师。每位师傅烤了一个披萨,随后由评委根据披萨进行排名。每块披萨都获得了一个从 (最好)到 (最差)的唯一排名。每位师傅也获得了与他们披萨相同的排名。
比赛结束后,是披萨盛宴的用餐时间了。所有师傅都会参加,并且每人都带着自己的披萨来到盛宴。师傅们按照某种顺序(不一定是排名顺序)依次到达。盛宴现场有 张桌子,编号从 到 。
前 位到达的师傅按到达顺序将披萨放在编号为 到 的桌子上。剩下的 位师傅想吃一块比自己做的更好的披萨,但又不能好得太离谱,这样他们才不会感到自卑。每次有师傅到达,他们会从桌面上的披萨选择排名比自己好但最差的那块披萨。他们会在被选择披萨的桌子旁坐下,吃掉选中的整个披萨。最后,他们把自己做的披萨留在桌子上,供后来的师傅(可能)享用。如果对于某位到达的师傅没有合适的披萨(因为所有桌上的披萨排名都比自己的差),这位师傅就会沮丧地离开,并带走自己的披萨(即不留下自己的披萨)。
下面的样例展示了一个拥有 张桌子的盛宴,师傅们按以下排名顺序到达:。这个盛宴对应于第一个样例输入和输出。
:::align{center}

前 位到达的师傅按到达顺序将披萨放在空桌子 (, ) 上。
:::
:::align{center}

一旦所有桌子都被占用,每位到达的师傅就会走到桌子上放着(在该条件下)比自己好但排名最差的那块披萨的桌旁(箭头所示),吃掉那块披萨,并留下自己的。如果没有更好的披萨,师傅就会沮丧地离开(无箭头)。
:::
在你的文章中,你想报道师傅们到达披萨盛宴的顺序。可惜,你因为沉迷于各种美味的披萨,忘记记录他们到达的顺序了。幸运的是,在每张桌子上,你可以找到一叠托盘,上面按上菜顺序记录了这张桌子被服务过的披萨。
:::align{center}

对应第一个样例的托盘堆。每堆按到达顺序(从下到上,下为先到)列出了在该桌子就餐的师傅。高亮显示的托盘是盛宴结束时留在桌子上的披萨。
:::
你想利用这些信息还原师傅们到达的顺序。你意识到可能有多种可能的顺序,因此,为了获得满分,你需要报告字典序最小的那个合法顺序。
序列 在字典序上小于序列 ,如果存在一个索引 ,使得对于所有 ,都有 且 。