{"raw_statement":[{"iden":"statement","content":"**题目译自 [PA 2022](https://sio2.mimuw.edu.pl/c/pa-2022-1/dashboard/) Runda 3 [Fotografia](https://sio2.mimuw.edu.pl/c/pa-2022-1/p/fot/)**\n\n字节科技学校（*Bajtockiej Szkoły Technicznej*, BST）的毕业生们聚集在学校前面的广场上拍摄纪念照。他们排成一排，其位置从左到右编号为 $1$ 至 $n$，其中 $n$ 是今年毕业生的人数。\n\n摄影师决定重新安排这些人的位置，让他们按身高升序排列。最矮的人在最左边，最高的人在最右边。幸运的是，今年的毕业生中没有任意两人身高相同。\n\n为了避免混乱，安排位置将按一定方式进行。在一次操作中，摄影师将喊出一串位置编号。在这些位置上的人将按所喊到的顺序出列并走到广场中间。然后，摄影师将重复同样的数字列表。广场中间的人将他们出列顺序的**逆序**，依次回到摄影师所喊出的位置。\n\n我们希望用尽可能少的操作将所有毕业生按身高的升序排列。你的工作是规划重新安排的方案，并告诉摄影师在第几次操作让哪些毕业生出列。"},{"iden":"input","content":"第一行一个整数 $n$，表示毕业生人数。\n\n接下来 $n$ 行是一个整数序列 $h_1,h_2,\\ldots,h_n$，每行一个整数，表示站成一排的人的身高。所有身高两两不同。"},{"iden":"output","content":"输出第一行包含一个整数 $r$，表示把所有人按身高升序排列所用的最少操作次数。\n\n接下来 $2r$ 行包含对这些操作的描述。描述第一行包含一个整数 $p_i\\ ()$，表示这一轮出列的人数，第二行 $p_i$ 个整数，表示按输出顺序喊出人的位置编号。在一次操作中喊出的人不能重复。\n\n如果有多种操作次数最少的方案，输出任意一种即可。"},{"iden":"note","content":"对于 $100\\%$ 的数据，满足：\n\n$1\\le n\\le 3 \\times 10 ^ 3, 1\\le h_i\\le 3 \\times 10 ^ 3, 1\\le p_i\\le n$。"}],"translated_statement":null,"sample_group":[["5\n1670\n2011\n1560\n1232\n1447\n","1\n5\n2 1 3 4 5\n"],["6\n1556\n1449\n1863\n2014\n1333\n1220\n","2\n5\n5 6 1 4 3\n4\n1 2 3 4\n"]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}