L2-4 缘之空
题号:NC205711
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小悠和小穹是一对恋人,有天他们讨论起彼此的家庭,惊讶地发现他们很有可能是远房亲戚。
为了避免发生一些遗传学上比较糟糕的事情,他们决定求助于你,你能帮帮他们么?
家谱中有 n 个人,编号为 1 到 n, 他们的血缘关系形成了一棵有根树。
定义两个人之间的亲缘等级为家谱树上两个人的距离,直系血亲(即一个人是另一个人的祖先)和亲缘等级小于等于4的旁系血亲不能结婚。
小悠和小穹想知道,对于给定的两个人,他们能否结婚。

输入描述:

第一行两个正整数 n, q, 表示家谱总人数和询问个数。
接下来 n-1 行,每行两个正整数 f, c, 表示 f 是 c 的父/母。(
接下来 q 行,每行两个正整数 u, v, 表示一个询问。(

输出描述:

对于每个询问,第一行输出“YES”或者“NO”,表示两个人能否结婚。

第二行输出一个整数,表示两个人的亲缘等级。

示例1

输入

复制
7 3
1 2
1 3
2 4
2 5
3 6
6 7
1 3
4 6
5 7

输出

复制
NO
1
NO
4
YES
5

备注:

对于 30% 的评测用例,
对于所有的评测用例,