새롭고 놀라운 가지를 교배하는 가지 연구원 민규는 여러가지 가지를 교배하여 슈퍼 가지를 만들었다! 민규는 즉시 슈퍼 가지를 기르는 농장을 만들었고, 슈퍼 가지들은 열심히 자라서 수확할 시간이 되었다.
민규의 농장은 1번에서 N번까지 번호가 붙은 N개의 토지와 그 토지들을 잇는 길이 1의 도로 N−1개로 이루어져 있다. 어느 토지에서든 도로를 통해서 다른 모든 토지로 갈 수 있고, 오직 하나의 토지와 도로로 직접 연결되어 있는 비옥한 토지에만 민규가 슈퍼 가지를 심었다. 단, 1번 토지에는 창고가 있기 때문에 슈퍼 가지를 절대 심지 않는다.

예제 1의 농장. 원형이 토지, 녹색이 창고, 보라색이 가지를 심은 토지이다.
민규는 현재 1번 토지에 있고, 민규는 민규가 있는 토지와 연결되어 있는 도로 중 하나를 통해서 움직일 수 있다. 민규가 슈퍼 가지가 심어져 있는 토지에 도착하게 되면 슈퍼 가지를 수확할 수 있고, 수확한 슈퍼 가지를 들고 다시 움직이게 된다. 하지만, 슈퍼 가지들을 안전하게 보관하기 위해 민규는 한번에 슈퍼 가지를 최대 3개씩만 들고 움직일 수 있다. 민규가 창고가 위치해 있는 1번 토지에 도착하게 된다면, 현재 민규가 들고 있는 슈퍼 가지를 모두 저장할 수 있다. 즉, 민규는 다시 3개의 슈퍼 가지를 들 수 있게 된다.
민규는 농장에서 자란 모든 슈퍼 가지를 최대한 빨리 수확해 창고에 저장하려고 한다. 민규가 모든 슈퍼 가지를 수확하여 창고에 저장하려 할 때 움직여야 하는 총 거리의 최솟값을 구하자.
첫째 줄에 농장의 토지 개수 N이 주어진다. (2≤N≤10,000)
둘째 줄부터 N−1개의 줄에 걸쳐 양의 정수 a와 b가 주어진다. 이는 a번 토지와 b번 토지를 연결하는 길이 1의 도로가 존재한다는 정보를 나타낸다. (1≤a,b≤N; a=b) 두 토지를 연결하는 도로는 최대 하나뿐이다.
첫째 줄에 민규가 모든 가지를 수확해 창고에 저장하기 위해 움직여야 하는 거리의 최솟값을 출력한다.