#2267. [Ceoi2011]Team

[Ceoi2011]Team

Background

Special for beginners, ^_^

Description

v格丁尼亚一所小学将举办运动日,其中最重要的活动是年度足球杯赛。参赛的球队是赛前临时组建的。不难想象每个小选手都想加入到最好的球队中。

v体育老师Byteman负责组织这项比赛。为了满足所有选手的愿望,他决定把这些选手按他们各自的意愿分到各个球队。第i个选手(共n个,编号1…n)表示,如果球队少于ai个队员,他就不愿意留在这个球队。

v除满足选手们的要求外,Byteman希望球队的数目尽可能多。如果仍有多种选择,则要求人数最多的球队的队员人数尽可能少。这项任务难度不小,Byteman需要你的帮助。

Format

Input

◆第一行是整数n(1≤n≤10^6)。然后是n行,其中第i行包括一个整数ai (1≤ai≤n),表示满足第i个选手的球队的最少人数。

◆至少50分的测试数据,n≤5000。

Output

第一行输出1个整数t,表示可能组建球队的最大数目。接下来的t行是对各个球队的描述,其中第i行包含1个整数si(1≤si≤n),表示第i个球队的人数,然后是si个整数k1,k2,…,ksi (1≤kj≤n,j=1,2,…,si), 表示属于第i个球队的队员的编号。

Samples

5
2
1
2
2
3
2

Limitation

1s, 1024KiB for each test case.