시간 제한메모리 제한제출정답맞힌 사람정답 비율
1.5 초 (추가 시간 없음) 1024 MB (추가 메모리 없음)41515012434.160%

문제

Y-트리는 아래 조건을 만족하는 트리이다.

  1. $4$개 이상의 정점과 인접한 정점은 없다.
  2. 인접한 정점의 개수가 $3$개인 정점은 정확히 하나만 존재한다.
  3. 인접한 정점이 하나뿐인 정점은 정확히 세 개 존재한다.

Y-트리의 크기는 해당 Y-트리를 이루는 정점의 개수와 같다.

$1$, $2$, … $N$까지의 번호가 하나씩 매겨진 정점 $N$개로 이루어진 트리가 주어진다. 주어진 트리에서 정점을 $0$개 이상 삭제하여 만들 수 있는 가장 큰 Y-트리의 크기를 구하는 프로그램을 작성하시오. 

입력

첫째 줄에 트리의 정점 개수를 의미하는 정수 $N$이 주어진다. ($2 \leq N \leq 100\,000$)

둘째 줄부터 $N-1$개 줄에 걸쳐 트리를 이루는 간선의 정보를 나타내는 두 정수 $u$, $v$가 주어진다. 이는 $u$번 정점과 $v$번 정점 사이를 잇는 간선이 존재한다는 의미이다. ($1 \leq u, v \leq N$, $u \neq v$)

트리를 이루는 모든 간선은 정확히 한 번씩 주어진다.

출력

첫째 줄에 주어진 트리에서 만들 수 있는 가장 큰 Y-트리의 크기를 출력한다.

Y-트리를 만들 수 없다면 $0$을 출력한다.

예제 입력 1

8
1 2
1 3
2 4
1 5
2 6
2 7
8 7

예제 출력 1

6

$3$번 정점과 $4$번 정점을 삭제하면 크기가 $6$인 Y-트리를 만들 수 있다.

크기가 $7$ 이상인 Y-트리를 만드는 방법은 존재하지 않는다.

예제 입력 2

3
1 2
2 3

예제 출력 2

0