import sys sys.setrecursionlimit(10**7) n=int(input()) ab=[list(map(int,input().split())) for _ in range(n)] g=[[] for _ in range(n)] for i,(a,b) in enumerate(ab): a,b=a-1,b-1 g[a].append([b,i]) g[b].append([a,i]) seen=[[None,None] for _ in range(n)] # seen[i]:[j,v]=[橋jをつかい、島vからきた] todo=[[0,-1]] def func(v,p): for nv,i in g[v]: if nv==p:continue if seen[nv][0] is not None: ans=1 ary=[i+1] now=v while now!=nv: i,now=seen[now] ary.append(i+1) ans+=1 print(ans) print(*ary) exit() else: seen[nv]=[i,v] func(nv,v) seen[nv]=[None,None] func(0,-1)