#abc293b. [abc293_b]Call the ID Number

[abc293_b]Call the ID Number

问题描述

NN 个人,他们的ID依次为 11, 22, ldots\\ldots, NN

每个人依次进行以下操作:

  • 如果第 ii 个人的ID还没有被叫到,就叫到第 AiA_i 个人的ID。

按照升序列举出所有在最后仍然没有被叫到的人的ID。

约束条件

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

输入

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

NN A1A_1 A2A_2 ldots\\ldots ANA_N

输出

按照以下格式升序列举出所有在最后未被叫到的人的ID:

KK X1X_1 X2X_2 ldots\\ldots XKX_K

换句话说,第一行应该包含最后未被叫到的人数 KK;第二行应该包含这些人的ID,以升序排列,ID之间用空格分隔。


示例输入 1

5
3 1 4 5 4

示例输出 1

2
2 4

五个人的操作如下:

  • 人物 11 的ID还没有被叫到,所以他叫到了人物 33 的ID。
  • 人物 22 的ID还没有被叫到,所以他叫到了人物 11 的ID。
  • 人物 33 的ID已经被人物 11 叫到,所以什么也不会发生。
  • 人物 44 的ID还没有被叫到,所以他叫到了人物 55 的ID。
  • 人物 55 的ID已经被人物 44 叫到,所以什么也不会发生。

因此,最后未被叫到的人的ID是 2244


示例输入 2

20
9 7 19 7 10 4 13 9 4 8 10 15 16 3 18 19 12 13 2 12

示例输出 2

10
1 2 5 6 8 11 14 17 18 20