import sys sys.setrecursionlimit(10**6) N=int(input()) g=[[] for i in range(N+1)] id=dict() for i in range(N): a,b=map(int,input().split()) g[a].append(b) g[b].append(a) id[a+b*N]=i+1 id[b+a*N]=i+1 ans=[] vis=[-1]*(N+1) stk=[] def dfs(cur,par): vis[cur]=0 stk.append((cur,par)) for dst in g[cur]: if dst==par: continue if vis[dst]==-1: dfs(dst,cur) elif vis[dst]==0: ans.append(id[cur+dst*N]) while stk: e=stk.pop() ans.append(id[e[0]+e[1]*N]) if e[1]==dst: break vis[cur]=1 if stk: stk.pop() dfs(1,0) print(len(ans)) print(*ans)