import sys sys.setrecursionlimit(10**6) N = int(input()) G = {i:[] for i in range(1,N+1)} E = {} for i in range(1,N+1): a,b = map(int,input().split()) G[a].append(b) G[b].append(a) E[(a,b)] = i E[(b,a)] = i A = [0]*(N+1) def dfs(v,p): for u in G[v]: if u==p: continue if A[u]==0: A[u] = A[v]+1 res = dfs(u,v) if res!=None: return res A[u] = 0 else: return u A[1] = 1 s = dfs(1,0) ans = [] p = 0 x = s flag = False while True: for u in G[x]: if u==p:continue if u==s: ans.append(E[(x,u)]) flag = True break if A[u]==A[x]+1: ans.append(E[(x,u)]) p = x x = u break if flag:break print(len(ans)) print(*ans)