[SOLUTION !!!] Nastia Plays with a Tree Solution Codeforces 2021

   

Nastia Plays with a Tree Solution Codeforces 2021

SOLUTION

” CLICK HERE “


Nastia has an unweighted tree with n vertices and wants to play with it!

The girl will perform the following operation with her tree, as long as she needs:

  1. Remove any existing edge.
  2. Add an edge between any pair of vertices.

What is the minimum number of operations Nastia needs to get a bamboo from a tree? A bamboo is a tree in which no node has a degree greater than 2.

Input

The first line contains a single integer t (1t10000) — the number of test cases.

The first line of each test case contains a single integer n (2n105) — the number of vertices in the tree.

Next n1 lines of each test cases describe the edges of the tree in form aibi (1ai,binaibi).

It's guaranteed the given graph is a tree and the sum of n in one test doesn't exceed 2105.

Output

For each test case in the first line print a single integer k — the minimum number of operations required to obtain a bamboo from the initial tree.

In the next k lines print 4 integers x1y1x2y2 (1x1,y1,x2,y2nx1y1x2y2) — this way you remove the edge (x1,y1) and add an undirected edge (x2,y2).

Note that the edge (x1,y1) must be present in the graph at the moment of removing.

Example
input
Copy
2
7
1 2
1 3
2 4
2 5
3 6
3 7
4
1 2
1 3
3 4
output
Copy
2
2 5 6 7
3 6 4 5
0
Note

Note the graph can be unconnected after a certain operation.

Consider the first test case of the example:

The red edges are removed, and the green ones are added.


Reactions