#466. 星港信标的轮值播报

星港信标的轮值播报

星港信标的轮值播报

题目描述

海王星外环的星港里,通信塔要在夜间逐层唤醒散布在各个舷窗边的信标,确保巡航队能够沿着灯光顺序离港。信标之间按照“上一层负责唤醒下一层”的方式相互连通,每个信标还贴有一个编号标签。控制塔记录了每个信标的左右联络口指向谁,你的任务是据此推算整夜的播报顺序:控制塔先点亮根信标,再依照联络口的排队顺序往外扩散,保证同一层的信标比下一层更早被唤醒。

请输出被点亮的信标标签顺序。

输入格式

  • 第一行一个整数 nn,表示信标数量。
  • 第二行一个整数 rr,表示根信标编号。
  • 接下来 nn 行,每行包含四个整数 id value left right,分别代表信标编号、标签数值、左联络口指向的信标编号以及右联络口指向的信标编号。若某个联络口没有连到信标,则以 0 表示。
  • 输入保证 id 互不相同,并覆盖 1..n1..n 的所有编号。

输出格式

输出一行,包含 nn 个整数,表示信标被唤醒时的标签数值,按照播报顺序以空格分隔。

输入输出样例 #1

输入 #1

5
1
1 10 2 3
2 7 4 0
3 6 0 5
4 1 0 0
5 9 0 0

输出 #1

10 7 6 1 9

说明/提示

  • 对于 100%100\% 的数据,1n1051 \le n \le 10^5109value109-10^9 \le \text{value} \le 10^9
  • 根信标编号保证有效。
  • 输出顺序要求从内城到外环一层层延展,同层按左联络口优先的约定。