# Tree Destruction

## 题意翻译

给你一棵树,每次挑选这棵树的两个叶子,加上他们之间的边数(距离),然后将其中一个点去掉,问你边数(距离)之和最大可以是多少.

## 题目描述

You are given an unweighted tree with $ n $ vertices. Then $ n-1 $ following operations are applied to the tree. A single operation consists of the following steps:
1. choose two leaves;
2. add the length of the simple path between them to the answer;
3. remove one of the chosen leaves from the tree.
Initial answer (before applying operations) is $ 0 $ . Obviously after $ n-1 $ such operations the tree will consist of a single vertex.
Calculate the maximal possible answer you can achieve, and construct a sequence of operations that allows you to achieve this answer!

## 输入输出格式

### 输入格式

The first line contains one integer number $ n $ ( $ 2<=n<=2·10^{5} $ ) — the number of vertices in the tree.
Next $ n-1 $ lines describe the edges of the tree in form $ a_{i},b_{i} $ ( $ 1<=a_{i} $ , $ b_{i}<=n $ , $ a_{i}≠b_{i} $ ). It is guaranteed that given graph is a tree.

### 输出格式

In the first line print one integer number — maximal possible answer.
In the next $ n-1 $ lines print the operations in order of their applying in format $ a_{i},b_{i},c_{i} $ , where $ a_{i},b_{i} $ — pair of the leaves that are chosen in the current operation ( $ 1<=a_{i} $ , $ b_{i}<=n $ ), $ c_{i} $ ( $ 1<=c_{i}<=n $ , $ c_{i}=a_{i} $ or $ c_{i}=b_{i} $ ) — choosen leaf that is removed from the tree in the current operation.
See the examples for better understanding.

## 输入输出样例

### 输入样例 #1

```
3
1 2
1 3
```

### 输出样例 #1

```
3
2 3 3
2 1 1
```

### 输入样例 #2

```
5
1 2
1 3
2 4
2 5
```

### 输出样例 #2

```
9
3 5 5
4 3 3
4 1 1
4 2 2
```