Good Bye 2014
G
New Year Running
Codeforces
3200
原题
← F→
翻译中…

New Year is coming in Tree Island! In this island, as the name implies, there are $*n*$ cities connected by $*n* - 1$ roads, and for any two distinct cities there always exists exactly one path between them. For every person in Tree Island, it takes exactly one minute to pass by exactly one road.

翻译中…

There is a weird New Year tradition for runnners in Tree Island, which is called "extreme run". This tradition can be done as follows.

翻译中…

A runner chooses two distinct cities $*a*$ and $*b*$. For simplicity, let's denote the shortest path from city $*a*$ to city $*b*$ as $*p*_{1}, *p*_{2}, ..., *p*_{*l*}$ (here, $*p*_{1} = *a*$ and $*p*_{*l*} = *b*$ holds). Then following happens:

翻译中…
  1. The runner starts at city $*a*$.
  2. The runner runs from city $*a*$ to $*b*$, following the shortest path from city $*a*$ to city $*b*$.
  3. When the runner arrives at city $*b*$, he turns his direction immediately (it takes no time), and runs towards city $*a*$, following the shortest path from city $*b*$ to city $*a*$.
  4. When the runner arrives at city $*a*$, he turns his direction immediately (it takes no time), and runs towards city $*b*$, following the shortest path from city $*a*$ to city $*b*$.
  5. Repeat step 3 and step 4 forever.
翻译中…

In short, the course of the runner can be denoted as: image image

翻译中…

Two runners JH and JY decided to run "extremely" in order to celebrate the New Year. JH has chosen two cities $*u*$ and $*v*$, and JY has chosen two cities $*x*$ and $*y*$. They decided to start running at the same moment, and run until they meet at the same city for the first time. Meeting on a road doesn't matter for them. Before running, they want to know the amount of time they will run.

翻译中…

It is too hard for JH and JY to calculate this, so they ask you for help.

翻译中…

Input

翻译中…

The first line contains a single positive integer $*n*$ ($5 ≤ *n* ≤ 2 × 10^{5}$) — the number of cities in Tree Island.

翻译中…

Next $*n* - 1$ lines describe the roads of Tree Island. The $*i*$-th line ($1 ≤ *i* ≤ *n* - 1$) of them contains two space-separated integers $*a*_{*i*}$ and $*b*_{*i*}$ ($1 ≤ *a*_{*i*}, *b*_{*i*} ≤ *n*, *a*_{*i*} ≠ *b*_{*i*}$) — the vertices connected by a single road of the tree.

翻译中…

The next line contains an integer $*t*$ ($1 ≤ *t* ≤ 2 × 10^{5}$) — the number of test cases.

翻译中…

Next $*t*$ lines describes the test cases. The $*j*$-th line ($1 ≤ *j* ≤ *t*$) of them contains four space-separated integers $*u*_{*j*}, *v*_{*j*}, *x*_{*j*}, *y*_{*j*}$ ($1 ≤ *u*_{*j*}, *v*_{*j*}, *x*_{*j*}, *y*_{*j*} ≤ *n*, *u*_{*j*} ≠ *v*_{*j*}, *x*_{*j*} ≠ *y*_{*j*}$). It means that in this test case, JH has chosen two cities $*u*_{*j*}$ and $*v*_{*j*}$, JY has chosen two cities $*x*_{*j*}$ and $*y*_{*j*}$. JH starts running at city $*u*_{*j*}$, and JY starts running at city $*x*_{*j*}$.

翻译中…

Output

翻译中…

For each test case, print an integer describing the amount of time they should run in minutes. If they have to run for an infinitely long time (in other words, if they never meet at the same city), print -1 instead. If they meet at the beginning of their run, print 0.

翻译中…

Note

翻译中…

The example looks like:

翻译中…

image

翻译中…

样例

Input #1
7
1 3
3 6
7 4
3 7
5 4
7 2
4
6 5 5 3
3 5 4 6
1 5 1 3
1 5 3 1
Output #1
2
1
0
-1
InputCopy OutputCopy
题目信息
题号
500G
所属比赛
时间限制
4 s
内存限制
256 MB
标签
数论
树

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。