1538. 链表排序

链表由一系列的结构体组成,每个结构体中包含一个 Key 值和一个指向下一个结构体的 Next 指针。

现在,给出一个链表,请你按照 Key 值升序的顺序将链表重新排序。

补充

1、本题中可能包含不在链表中的节点,这些节点无需统计,无需排序,无需输出。
2、链表可能为空。(头节点地址为 $-1$)。

输入格式

第一行首先包含一个整数 $N$,表示总节点数量,然后包含链表头节点的地址。

接下来 $N$ 行,每行描述一个节点的信息,格式如下:

Address Key Next

其中 Address 是节点地址,Key 值是一个整数,Next 是下一个节点的地址。

地址都是 $5$ 位正整数,可能有前导 $0$。

保证各节点的 Key 值互不相同,且链表中不存在环形结构。

输出格式

第一行首先输出一个整数表示链表的总节点数量,然后输出排序后的链表头节点地址。

接下来若干行,从头节点开始,依次输出每个节点的信息,格式与输入相同。

数据范围

$1 \le N \le 10^5$,
$-10^5 \le Key \le 10^5$

输入样例:

5 00001
11111 100 -1
00001 0 22222
33333 100000 11111
12345 -1 33333
22222 1000 12345

输出样例:

5 12345
12345 -1 00001
00001 0 11111
11111 100 22222
22222 1000 33333
33333 100000 -1