독립 집합 (최대)
시간 제한1초메모리 제한2048 MB
트리가 주어질 때, 서로 인접하지 않은 노드 집합 중 (노드 수)와 (집합을 연결하는 최소 간선 수)의 곱이 가장 큰 값을 구합니다.
문제
개의 노드(번호는 부터 까지)로 이루어진 트리가 주어진다. 간선은 부터 까지 번호가 매겨져 있고, 번 간선은 노드 와 를 잇는다.
공집합이 아닌 노드 집합이 독립이라는 것은 집합에 속한 노드 중 서로 인접한 노드가 없다는 뜻이다. 아래 그림은 독립인 집합과 독립이 아닌 집합의 예를 보여준다. 빨간색으로 칠해진 노드가 집합의 원소이다.

독립 집합의 점수는 다음 두 값의 곱이다.
- 집합에 속한 노드의 개수
- 집합의 모든 노드를 여전히 연결된 상태로 두는 데 필요한 최소 간선 수
아래 그림은 독립 집합의 점수를 계산하는 예를 보여준다. 이 집합에는 노드가 개 있다. 두 노드를 연결하는 데 필요한 최소 간선 수는 이며, 빨간색 간선으로 표시되어 있다. 따라서 이 집합의 점수는 이다.

노드가 개뿐인 집합의 점수는 이다.
트리에 있는 공집합이 아닌 독립 집합 전체에서 점수의 최댓값을 구하라.
입력
첫째 줄에 정수 ()이 주어진다. 다음 개의 줄에는 각각 두 정수 , ()가 주어진다. 입력으로 주어지는 간선들은 트리를 이룬다.
출력
트리에 있는 공집합이 아닌 독립 집합 중 점수의 최댓값을 정수 하나로 출력한다.