格丁尼亚(Gdynia)的一所小学正在举行运动会。活动中最重要的部分是年度足球杯。
几名孩子聚集在足球场上,准备组建队伍。由于每个人都想加入最好的队伍,队员们无法达成一致。有些人威胁说不参加比赛,有些人开始哭泣,现在没有人确定比赛是否还能进行。
体育老师 Byteman 负责组织这次比赛。他决定亲自将孩子们分成若干个队伍,以便让每个孩子都对自己的队伍感到满意。球场上的 $n$ 个孩子(编号为 $1$ 到 $n$)中,第 $i$ 个孩子表示,如果她所在的队伍人数少于 $a_i$ 人,她就会对自己的队伍感到不满意。
除了满足孩子们的要求外,Byteman 还希望最大化队伍的总数。如果仍有多种可能,他要求最大队伍的人数尽可能小。
由于这被证明是一项相当困难的任务,Byteman 向你寻求帮助。
输入格式
输入第一行包含一个整数 $n$($1 \le n \le 1\,000\,000$)。
接下来 $n$ 行,第 $i$ 行包含一个整数 $a_i$($1 \le a_i \le n$),表示满足第 $i$ 个孩子所需的最小队伍人数。
输出格式
输出第一行应包含一个整数 $t$,表示最大可能的队伍数量。
接下来 $t$ 行,每行包含对一个队伍的描述。第 $i$ 行应包含一个整数 $s_i$($1 \le s_i \le n$)表示第 $i$ 个队伍的人数,接着是 $s_i$ 个整数 $k_1, k_2, \dots, k_{s_i}$(对于 $j = 1, 2, \dots, s_i$,有 $1 \le k_j \le n$),表示属于第 $i$ 个队伍的孩子编号。
如果存在多种可能的答案,你可以输出在所有恰好包含 $t$ 个队伍的方案中,使最大队伍人数最小化的任意一种方案。
数据范围
对于分值至少为 50 分的测试数据,$n$ 不超过 $5\,000$。
样例
输入样例 1
5 2 1 2 2 3
输出样例 1
2 2 4 2 3 5 1 3