D - Isomorphism Freak 解説 /

実行時間制限: 2 sec / メモリ制限: 1024 MB

配点 : 1100

問題文

G の頂点を何色かで塗り分ける方法が 良い彩色 であるとは、同じ色で塗られたどの 2 つの頂点 u,v に対しても、 Gu を根とする根付き木として見た木と v を根とする根付き木として見た木が同型であることを指します。

また、Gカラフルさ とは、G の良い彩色で使われる色の種類数の最小値を指します。

N 頂点の木が与えられます。頂点には 1 から N までの番号がついており、i 本目の辺は頂点 a_i と頂点 b_i を結んでいます。 この木に以下の操作を何度か繰り返し施し、木 T を作ります。

  • 新たな頂点を 1 つ作る。現在の木の頂点をひとつ選び、その頂点と新しく作った頂点を辺で結ぶ。

T としてありうるもののカラフルさの最小値を求めてください。 さらに、その最小値を達成する木 T の葉(次数 1 の頂点)の数の最小値を出力してください。

ノート

Gu を根とする根付き木として見た木と v を根とする根付き木として見た木が同型であるとは、 G の頂点集合からそれ自身への全単射な写像 f_{uv} であって、以下を満たすものが存在することを指します。

  • f_{uv}(u)=v
  • どの 2 頂点の組 (a,b) についても、(a,b) 辺があることと (f_{uv}(a),f_{uv}(b)) 辺があることが同値である

制約

  • 2 \leq N \leq 100
  • 1 \leq a_i,b_i \leq N(1\leq i\leq N-1)
  • 与えられるグラフは木である

入力

入力は以下の形式で標準入力から与えられる。

N
a_1 b_1
:
a_{N-1} b_{N-1}

出力

整数 2 つを空白区切りで出力せよ。 まずはじめに、作ることのできる木 T の中での、カラフルさの最小値を出力せよ。 その後、その時の木の葉の数の最小値を出力せよ。

なお、この問題の制約の下で、出力すべき値は 64 ビット符号付き整数に収まることが示せる。


入力例 1

5
1 2
2 3
3 4
3 5

出力例 1

2 4

頂点 6 を用意し、頂点 2 と結んだとき、頂点 (1,4,5,6) を赤で、頂点 (2,3) を青で塗る彩色は良い彩色です。 1 色で全頂点を塗る彩色は良い彩色ではないので、作った木のカラフルさは 2 となることが分かります。 この場合が最適であり、葉は 4 つあるので、24 を出力します。


入力例 2

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

出力例 2

3 4

入力例 3

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

出力例 3

4 6

入力例 4

13
5 6
6 4
2 8
4 7
8 9
3 2
10 4
11 10
2 4
13 10
1 8
12 1

出力例 4

4 12

Score : 1100 points

Problem Statement

Coloring of the vertices of a tree G is called a good coloring when, for every pair of two vertices u and v painted in the same color, picking u as the root and picking v as the root would result in isomorphic rooted trees.

Also, the colorfulness of G is defined as the minimum possible number of different colors used in a good coloring of G.

You are given a tree with N vertices. The vertices are numbered 1 through N, and the i-th edge connects Vertex a_i and Vertex b_i. We will construct a new tree T by repeating the following operation on this tree some number of times:

  • Add a new vertex to the tree by connecting it to one of the vertices in the current tree with an edge.

Find the minimum possible colorfulness of T. Additionally, print the minimum number of leaves (vertices with degree 1) in a tree T that achieves the minimum colorfulness.

Notes

The phrase "picking u as the root and picking v as the root would result in isomorphic rooted trees" for a tree G means that there exists a bijective function f_{uv} from the vertex set of G to itself such that both of the following conditions are met:

  • f_{uv}(u)=v
  • For every pair of two vertices (a,b), edge (a,b) exists if and only if edge (f_{uv}(a),f_{uv}(b)) exists.

Constraints

  • 2 \leq N \leq 100
  • 1 \leq a_i,b_i \leq N(1\leq i\leq N-1)
  • The given graph is a tree.

Input

Input is given from Standard Input in the following format:

N
a_1 b_1
:
a_{N-1} b_{N-1}

Output

Print two integers with a space in between. First, print the minimum possible colorfulness of a tree T that can be constructed. Second, print the minimum number of leaves in a tree that achieves it.

It can be shown that, under the constraints of this problem, the values that should be printed fit into 64-bit signed integers.


Sample Input 1

5
1 2
2 3
3 4
3 5

Sample Output 1

2 4

If we connect a new vertex 6 to vertex 2, painting the vertices (1,4,5,6) red and painting the vertices (2,3) blue is a good coloring. Since painting all the vertices in a single color is not a good coloring, we can see that the colorfulness of this tree is 2. This is actually the optimal solution. There are four leaves, so we should print 2 and 4.


Sample Input 2

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

Sample Output 2

3 4

Sample Input 3

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

Sample Output 3

4 6

Sample Input 4

13
5 6
6 4
2 8
4 7
8 9
3 2
10 4
11 10
2 4
13 10
1 8
12 1

Sample Output 4

4 12