from bisect import bisect_left N = int(input()) A = list() B = list() for _ in range(N): a,b = map(int, input().split()) A.append(a) B.append(b) B1 = list() for i in range(N): if B[i]==1: B1.append(i) ab = [[] for _ in range(N)] indeg = [0 for _ in range(N)] for i in range(N): if A[i]==1: ab[i+1].append(i) indeg[i] += 1 if B[i]==2: idx = bisect_left(B1,i) if idx0: continue now = i while True: ans.append(now) if not ab[now]: break now = ab[now][0] for i in range(N): print(ans[i]+1)