from collections import defaultdict
import sys
sys.setrecursionlimit(10**4)
def dfs(now, visited) :
visited.add(now)
checked[now] = True
for nxt in graph[now] :
# 사이클이 아닌 경우
if nxt not in visited :
dfs(nxt, visited.copy())
# 사이클이 생긴 경우
else :
answer.extend(list(visited))
return
N = int(input())
graph = [[] for _ in range(N+1)]
for i in range(1, N+1) :
num = int(input())
graph[num].append(i)
checked = [False] * (N+1) # 숫자 확인
answer = [] # 정답 리스트
for i in range(1, N+1) :
if not checked[i] : # 확인하지 않은 숫자에 대해서만 확인할 것
dfs(i, set())
print(len(answer))
print(*sorted(answer), sep='\n')