爸爸的爸爸叫什么
题号:NC214200
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小明有一个庞大家族的家谱,突发奇想的他突然想要查找最小一辈的名单,你能帮帮他吗?

输入描述:

输入在第一行给出家族人口总数 N(不超过 105 的正整数) 
简单起见,我们把家族成员从 1 到 N 编号。
第二行给出 N 个编号,其中第 i 个编号对应第 i 位成员的父/母。
家谱中辈分最高的老祖宗对应的父/母编号为 0。一行中的数字间以空格分隔。

输出描述:

首先输出最小的辈分(老祖宗的辈分为 1,以下逐级递增)。
然后在第二行按递增顺序输出辈分最小的成员的编号。编号间以一个空格分隔。
示例1

输入

复制
7
3 1 0 5 1 1 6

输出

复制
4
4 7