atcoder#AGC025E. [AGC025E] Walking on a Tree

[AGC025E] Walking on a Tree

Score : 15001500 points

Problem Statement

Takahashi loves walking on a tree. The tree where Takahashi walks has NN vertices numbered 11 through NN. The ii-th of the N1N-1 edges connects Vertex aia_i and Vertex bib_i.

Takahashi has scheduled MM walks. The ii-th walk is done as follows:

  • The walk involves two vertices uiu_i and viv_i that are fixed beforehand.
  • Takahashi will walk from uiu_i to viv_i or from viv_i to uiu_i along the shortest path.

The happiness gained from the ii-th walk is defined as follows:

  • The happiness gained is the number of the edges traversed during the ii-th walk that satisfies one of the following conditions:- In the previous walks, the edge has never been traversed.
    • In the previous walks, the edge has only been traversed in the direction opposite to the direction taken in the ii-th walk.
  • In the previous walks, the edge has never been traversed.
  • In the previous walks, the edge has only been traversed in the direction opposite to the direction taken in the ii-th walk.

Takahashi would like to decide the direction of each walk so that the total happiness gained from the MM walks is maximized. Find the maximum total happiness that can be gained, and one specific way to choose the directions of the walks that maximizes the total happiness.

Constraints

  • 1N,M20001 \leq N,M \leq 2000
  • 1ai,biN1 \leq a_i , b_i \leq N
  • 1ui,viN1 \leq u_i , v_i \leq N
  • aibia_i \neq b_i
  • uiviu_i \neq v_i
  • The graph given as input is a tree.

Input

Input is given from Standard Input in the following format:

NN MM

a1a_1 b1b_1

:

aN1a_{N-1} bN1b_{N-1}

u1u_1 v1v_1

:

uMu_M vMv_M

Output

Print the maximum total happiness TT that can be gained, and one specific way to choose the directions of the walks that maximizes the total happiness, in the following format:

TT

u^'_1 v^'_1

:

u^'_M v^'_M

where (u^'_i,v^'_i) is either (uiu_i,viv_i) or (viv_i,uiu_i), which means that the ii-th walk is from vertex u^'_i to v^'_i.

4 3
2 1
3 1
4 1
2 3
3 4
4 2
6
2 3
3 4
4 2

If we decide the directions of the walks as above, he gains the happiness of 22 in each walk, and the total happiness will be 66.

5 3
1 2
1 3
3 4
3 5
2 4
3 5
1 5
6
2 4
3 5
5 1
6 4
1 2
2 3
1 4
4 5
4 6
2 4
3 6
5 6
4 5
9
2 4
6 3
5 6
4 5