地球人殖民火星后,在火星建造了n个居住地,以及n条单向道路。其中n个居住地编号为1到n。第i条单向道路从i号居住地通向x[i]号居住地(保证x[i]不等于i)。通过分析我们发现,可能存在若干个居住地通过道路连成环形基地。需要你计算出共有几个环形基地,以及每个环形基地里的居住地编号。
输入输出格式
输入格式
输入文件base.in 输入第一行为正整数n,n<=100000,第2行包含n个正整数x[i],代表道路信息,均在1到n之间。
输出格式
输出文件base.out 输出第一行为一个正整数T,代表环形基地数量。接着共T行,每行为一个环形基地的信息:首先输出该环里最小编号的居住地,然后沿着道路绕环一周输出所有编号。这T行的先后顺序,遵循环首编号较小的优先输出。注意:行末不可以有空格。
输入输出样例
输入样例#1:
4
2 4 2 3
输出样例#1:
1
2 4 3