頂点 \(1,\) 頂点 \(2,\) \(\dots,\) 頂点 \(N\) の \(N\) 頂点の木 \(T\) が与えられます。 \(i\) 番目 \((1 \leq i \leq N-1)\) の辺は頂点 \(u_i\) と頂点 \(v_i\) を双方向に結びます.
任意の \(2\) 頂点 \(u, v\) に対して、 \(P(u, v)\) を \(T\) 上の \(u-v\) 間の最短パスの頂点集合、 \(d(u, v)\) を \(T\) 上の \(u-v\) 間の最短距離とします。
以下の \(Q\) 個のクエリに答えて下さい.
入力は以下の形式で標準入力から与えられます。
| \(N~Q\) | |
| \(u_1~v_1\) | |
| \(u_2~v_2\) | |
| \(\vdots\) | |
| \(u_{N-1}~v_{N-1}\) | |
| \(query_1\) | |
| \(query_2\) | |
| \(\vdots\) | |
| \(query_Q\) |
ここで\(query_i\)は\(i\)番目のクエリであり、以下の形式であたえられます。
| \(s_1~t_1~s_2~t_2\) |
入力は以下の制約をすべて満たします。
\(Q\) 個のクエリを処理してください.
5 31 42 41 32 53 5 2 41 3 2 51 4 2 5
0 2 1
7 31 21 32 42 53 63 74 5 6 71 4 3 73 4 6 7
2 1 0