#2708. Endless Fantasy

Endless Fantasy

题目描述

中二少年cenbo\red{cenbo}幻想自己统治着EuphoricField\red{Euphoric Field}。由此他开始了EndlessFantasy\red{Endless Fantasy}

EuphoricField\red{Euphoric Field}n\red{n}座城市,m\red{m}个民族。这些城市之间由n1\red{n-1}条道路连接形成了以城市1\red{1}为根的有根树。

每个城市都是某一民族的聚居地,cenbo\red{cenbo}知道第i\red{i}个城市的民族是Ai\red{A_i,}人数是Bi\red{B_i}。为了维护稳定,cenbo\red{cenbo}需要知道某个区域内人数最多的民族。

他向你提出n\red{n}个询问,其中第i\red{i}个询问是:求以i\red{i}为根的子树内,人数最多的民族有是哪个,这个民族有多少人。

如果子树内人数最多的民族有多个,输出其中编号最小的民族。

输入格式

输入文件endless.in\red{endless.in}共有2×n\red{2\times n}行。

第一行有两个整数n,m\red{n, m}

接下来n1\red{n-1}行,每行有两个整数u,v\red{u, v,}表示一条连接u\red{u}v\red{v}的道路。

接下来n\red{n}行,第i\red{i}行有两个整数Ai,Bi\red{A_i, B_i}

输出格式

输出文件endless.out\red{endless.out}共有n\red{n}行。

i\red{i}行两个整数x,y\red{x, y,}分别表示以i\red{i}为根的子树中人数最多的民族和它的人数。

样例

输入样例

8 6

1 2

1 3

2 4

4 5

3 6

5 7

1 8

2 8

2 5

1 1

3 1

6 7

5 6

1 10

4 6

输出样例

2 13

1 10

5 6

1 10

1 10

5 6

1 10

4 6

提示

数据范围

30%\red{30\%}的数据,n<=1000\red{n<=1000}

60%\red{60\%}的数据,n<=40000\red{n<=40000}

100%\red{100\%}的数据,n<=400000\red{n<=400000,}m<=n\red{m<=n,}1<=Ai<=m\red{1<=A_i<=m,}0<=Bi<=1000\red{0<=B_i<=1000}

输入文件较大请使用读入优化。