#AT2502. B - Call the ID Number

B - Call the ID Number

当前没有测试数据。

B - 喊ID号码

得分:$200$分

问题描述

有$N$个人,他们的ID号码分别是$1$, $2$, $\ldots$, 和 $N$。

每个人按照以下顺序执行一次如下操作:

  • 如果第$i$个人的ID号码还未被喊过,就喊出第$A_i$个人的ID号码。

按照升序列举所有ID号码在最后没有被喊到的人的ID号码。

限制

  • $2 \leq N \leq 2 \times 10^5$
  • $1 \leq A_i \leq N$
  • $A_i \neq i$
  • 输入中的所有值都为整数。

输入

从标准输入中以以下格式给出输入:

NN

A1A_1 A2A_2 \ldots ANA_N

输出

按照以下格式列举所有最后未被喊到的人的ID号码:

``` $K$ $X_1$ $X_2$ $\ldots$ $X_K$ ```

换句话说,第一行应该包含人数$K$,$K$是最后未被喊到的人的数量; 第二行应该包含未被喊到的人的ID号码序列$(X_1, X_2, \ldots, X_K)$,以升序排列,中间用空格分隔。


5
3 1 4 5 4
2
2 4

五个人的操作如下所示。

  • 人$1$的ID号码还未被喊过,于是他喊出人$3$的ID号码。
  • 人$2$的ID号码还未被喊过,于是他喊出人$1$的ID号码。
  • 人$3$的ID号码已经被人$1$喊过了,所以什么都不会发生。
  • 人$4$的ID号码还未被喊过,于是他喊出人$5$的ID号码。
  • 人$5$的ID号码已经被人$4$喊过了,所以什么都不会发生。

因此,人$2$和$4$的ID号码在最后都没有被喊到。


20
9 7 19 7 10 4 13 9 4 8 10 15 16 3 18 19 12 13 2 12
10
1 2 5 6 8 11 14 17 18 20