在 Byteotia,有 $n$ 个城镇通过密集的道路网相连。不幸的是,这些道路大多质量很差。因此,过去几年里修建了 $n-1$ 条现代化高速公路。每个城市仅通过高速公路就能到达其他任何城市,但这种便利是有代价的——每使用一条高速公路都需要支付通行费。
但 Byteotia 的市民认为通行费高得离谱。为了平息公众舆论,交通部长决定对高速公路网络进行现代化改造。然而,今年的预算只允许新建一条高速公路并拆除另一条,拆除的公路可能连接的是相同的两个城镇——仅凭现代化本身就是一种改进。(交通部发言人没有解释为什么要拆除一条旧公路才能修建一条新公路。)部长希望选择这两条公路(旧的和新的),使得每对城镇之间仍然保持连通,并且使得任意两个城市之间路径上的最大公路数最小化。我们称这种方案为“乐观方案”。
另一方面,财政大臣更希望通过现代化改造为预算做出贡献。因此,在坚持高速公路网络保持连通的同时,他希望任意两个城市之间路径上的最大公路数最大化。我们称这种方案为“悲观方案”。
这两种方案的传闻都传到了媒体耳中。一位名叫 Byteasar 的记者打算写一篇关于这个主题的文章。作为一名难得勤奋的记者,Byteasar 想要描述最乐观和最悲观的现代化方案。请编写一个程序,为他的文章提供数据,从而帮助他。
输入格式
标准输入的第一行包含一个整数 $n$ ($3 \le n \le 500\,000$),表示 Byteotia 的城镇数量。城镇编号为 $1$ 到 $n$。接下来有 $n-1$ 行描述高速公路。其中第 $i$ 行包含两个整数 $a_i$ 和 $b_i$ ($1 \le a_i, b_i \le n, a_i \neq b_i$),由单个空格分隔,表示有一条连接城镇 $a_i$ 和 $b_i$ 的高速公路。
在总分 30% 的测试点中,满足 $n \le 1000$。
输出格式
第一行应输出五个整数 $k, x_1, y_1, x_2, y_2$。这些数字用于描述乐观方案:当拆除连接城镇 $x_1$ 和 $y_1$ 的高速公路并新建一条连接城镇 $x_2$ 和 $y_2$ 的高速公路后,任意两个城市之间路径上的最大公路数为 $k$。第二行应以相同的格式描述悲观方案。指定公路端点的城镇(无论是拆除的还是新建的)可以以任意顺序给出。如果存在多种方案,程序可以任意选择其中一种。
说明
你的程序必须打印两行。这两个方案的答案将分别进行评分。也就是说,如果你的程序仅给出了其中一个方案的正确答案,它将获得该测试点一半的分数。
样例
样例输入 1
6 1 2 2 3 2 4 4 5 6 5
样例输出 1
3 4 2 2 5 5 2 1 1 6