编辑代码

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void (async function () {
  const n = Number(await readline());
  const map = new Map();
  for (let i = 0; i < n; i++) {
    const [child, parent] = (await readline()).split(" ");
    map.set(child);
    map.set(parent, map.get(parent) ? [...map.get(parent), child] : [child]);
  }
  const node = await readline();
  // console.log(map.get(node));
  const res = [];
  const dfs = (node) => {
    if (map.has(node)) {
      if (!map.get(node)) return;
      // console.log(map.get(node));
      for (let i = 0; i < [...map.get(node)].length; i++) {
        const child = [...map.get(node)][i];
        res.push(child);
        dfs(child);
      }
    }
  };
  dfs(node);
  // console.log(res.join(" "));
  res.sort().forEach((val) => {
    console.log(val);
  });
})();