E - Sugigma: The Showdown Editorial /

Time Limit: 2 sec / Memory Limit: 256 MB

配点 : 14001400

問題文

しぐま君とすぎむ君はゲームをすることにしました。

このゲームは NN 頂点のグラフの上で行います。頂点には 1,2,...,N1,2,...,N と番号がついています。グラフには N1N-1 本の赤い辺と N1N-1 本の青い辺があり、どちらも木となっています。赤い辺は (ai,bi)(a_i, b_i) で表し、青い辺は (ci,di)(c_i, d_i) で表します。

二人はそれぞれ駒を 11 個ずつ持っており、しぐま君の駒の初期位置は頂点 XX、すぎむ君の駒の初期位置は頂点 YY です。

このゲームはターン制で、ターン 11, ターン 22, ターン 33, ... と進んでいきます。そして、ターン 1,3,5,...1, 3, 5, ... はしぐま君、ターン 2,4,6,...2, 4, 6, ... はすぎむ君の手番です。

二人は自分の手番では、自分の駒を動かすかパスをします。ただし動かせる頂点には制限があり、しぐま君は赤い辺、すぎむ君は青い辺で隣り合った頂点のみに駒を動かせます。

もし二つの駒が同じ頂点に来るとその時点でゲームは終了します。そしてターン ii での操作の後にゲームが終了したならば、ii を総ターン数とします。

しぐま君は総ターン数を出来る限り大きく、すぎむ君は出来る限り小さくしたいです。

二人はこの目的のもとで最適に行動をすると仮定したとき、ゲームは終了するかを判定し、終了する場合は総ターン数はいくつになるか求めてください。

制約

  • 2N200,0002 ≦ N ≦ 200,000
  • 1X,YN1 ≦ X, Y ≦ N
  • XYX \neq Y
  • 1ai,bi,ci,diN1 ≦ a_i, b_i, c_i, d_i ≦ N
  • 赤い辺と青い辺はそれぞれ木である

入力

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

NN XX YY
a1a_1 b1b_1
a2a_2 b2b_2
:
aN1a_{N-1} bN1b_{N-1}
c1c_1 d1d_1
c2c_2 d2d_2
:
cN1c_{N-1} dN1d_{N-1}

出力

11 行に答えを出力する。 ただし、いつまでもゲームが終了しない場合は -1 を出力する。


入力例 1Copy

Copy
4 1 2
1 2
1 3
1 4
2 1
2 3
1 4

出力例 1Copy

Copy
4


入力例 2Copy

Copy
3 3 1
1 2
2 3
1 2
2 3

出力例 2Copy

Copy
4


入力例 3Copy

Copy
4 1 2
1 2
3 4
2 4
1 2
3 4
1 3

出力例 3Copy

Copy
2


入力例 4Copy

Copy
4 2 1
1 2
3 4
2 4
1 2
3 4
1 3

出力例 4Copy

Copy
-1

入力例 5Copy

Copy
5 1 2
1 2
1 3
1 4
4 5
2 1
1 3
1 5
5 4

出力例 5Copy

Copy
6

Score : 14001400 points

Problem Statement

Sigma and Sugim are playing a game.

The game is played on a graph with NN vertices numbered 11 through NN. The graph has N1N-1 red edges and N1N-1 blue edges, and the N1N-1 edges in each color forms a tree. The red edges are represented by pairs of integers (ai,bi)(a_i, b_i), and the blue edges are represented by pairs of integers (ci,di)(c_i, d_i).

Each player has his own piece. Initially, Sigma's piece is at vertex XX, and Sugim's piece is at vertex YY.

The game is played in turns, where turns are numbered starting from turn 11. Sigma takes turns 1,3,5,...1, 3, 5, ..., and Sugim takes turns 2,4,6,...2, 4, 6, ....

In each turn, the current player either moves his piece, or does nothing. Here, Sigma can only move his piece to a vertex that is directly connected to the current vertex by a red edge. Similarly, Sugim can only move his piece to a vertex that is directly connected to the current vertex by a blue edge.

When the two pieces come to the same vertex, the game ends immediately. If the game ends just after the operation in turn ii, let ii be the total number of turns in the game.

Sigma's objective is to make the total number of turns as large as possible, while Sugim's objective is to make it as small as possible.

Determine whether the game will end in a finite number of turns, assuming both players plays optimally to achieve their respective objectives. If the answer is positive, find the number of turns in the game.

Constraints

  • 2N200,0002 ≦ N ≦ 200,000
  • 1X,YN1 ≦ X, Y ≦ N
  • XYX \neq Y
  • 1ai,bi,ci,diN1 ≦ a_i, b_i, c_i, d_i ≦ N
  • The N1N-1 edges in each color (red and blue) forms a tree.

Input

The input is given from Standard Input in the following format:

NN XX YY
a1a_1 b1b_1
a2a_2 b2b_2
::
aN1a_{N-1} bN1b_{N-1}
c1c_1 d1d_1
c2c_2 d2d_2
::
cN1c_{N-1} dN1d_{N-1}

Output

If the game will end in a finite number of turns, print the number of turns. Otherwise, print -1.


Sample Input 1Copy

Copy
4 1 2
1 2
1 3
1 4
2 1
2 3
1 4

Sample Output 1Copy

Copy
4


Sample Input 2Copy

Copy
3 3 1
1 2
2 3
1 2
2 3

Sample Output 2Copy

Copy
4


Sample Input 3Copy

Copy
4 1 2
1 2
3 4
2 4
1 2
3 4
1 3

Sample Output 3Copy

Copy
2


Sample Input 4Copy

Copy
4 2 1
1 2
3 4
2 4
1 2
3 4
1 3

Sample Output 4Copy

Copy
-1

Sample Input 5Copy

Copy
5 1 2
1 2
1 3
1 4
4 5
2 1
1 3
1 5
5 4

Sample Output 5Copy

Copy
6


2025-04-25 (Fri)
19:11:51 +00:00