CF490B Queue

题目描述

午休期间,所有 $n$ 名伯兰国立大学的学生在美食广场排起了长队。然而美食广场也进入了午休时间,暂时停止营业。 站在无人服务的队伍中实在太无聊了,于是每个学生都记下了自己正前方和正后方同学的学号。如果某位同学前方或后方没有人(即他是队首或队尾),则用 $0$ 代替(伯兰国立大学的学号从 $1$ 开始编号)。 由于太过无聊,过了一阵子,所有学生都离开了。当他们回来时,发现重建队列并没有那么简单。 请你根据学生们记录的相邻学号信息,帮助他们还原队列的原始顺序。

输入格式

第一行一个正整数 $n$($2 \le n \le 2 \times 10^5$),表示队列中的学生人数。 接下来 $n$ 行,每行包含两个整数 $a_i$ 和 $b_i$($0 \le a_i,b_i \le 10^6$),其中 $a_i$ 表示这个学生前面一个学生的学号,$b_i$ 表示这个学生后面一个学生的学号。各行以任意顺序给出。若某侧没有相邻同学,则用 $0$ 代替。 所有学生的学号互不相同。数据保证这些记录对应着一个有效的学生队列。

输出格式

输出一行 $n$ 个正整数 $x_1,x_2,\dots,x_n$,表示从队首到队尾所有学生的学号序列。

说明/提示

下图展示了第一个样例的队列情况。 ![](https://espresso.codeforces.com/a1fa39771477e7a971ef2f0390f316ba396d273c.png)